@@ -21,6 +21,36 @@ import (
2121 "github.com/julienschmidt/httprouter"
2222)
2323
24+ func main () {
25+ const (
26+ defaultPort = "3000"
27+ defaultPortUsage = "default server port, '3000'"
28+ defaultTarget = "http://127.0.0.1:8080"
29+ defaultTargetUsage = "default redirect url, 'http://127.0.0.1:8080'"
30+ )
31+
32+ // flags
33+ port := flag .String ("port" , defaultPort , defaultPortUsage )
34+ redirectURL := flag .String ("url" , defaultTarget , defaultTargetUsage )
35+ yGen := flag .Uint64 ("ygen" , 0 , "Invalid young generation size." )
36+ tGen := flag .Uint64 ("tgen" , 0 , "Invalid tenured generation size." )
37+ flag .Parse ()
38+
39+ if * yGen == 0 || * tGen == 0 {
40+ log .Fatalf ("Neither ygen nor tgen can be 0. ygen:%d tgen:%d" , * yGen , * tGen )
41+ }
42+
43+ proxy := newProxy (* redirectURL , * yGen , * tGen )
44+ c := make (chan struct {}, 1 )
45+ router := httprouter .New ()
46+ router .HandlerFunc ("GET" , "/" , func (w http.ResponseWriter , r * http.Request ) {
47+ c <- struct {}{}
48+ proxy .handle (w , r )
49+ <- c
50+ })
51+ log .Fatal (http .ListenAndServe (":" + * port , router ))
52+ }
53+
2454const (
2555 gciHeader = "gci"
2656 heapCheckHeader = "ch"
@@ -205,32 +235,6 @@ func newTransport(target string, yGen, tGen uint64) *transport {
205235 }
206236}
207237
208- func main () {
209- const (
210- defaultPort = "3000"
211- defaultPortUsage = "default server port, '3000'"
212- defaultTarget = "http://127.0.0.1:8080"
213- defaultTargetUsage = "default redirect url, 'http://127.0.0.1:8080'"
214- )
215-
216- // flags
217- port := flag .String ("port" , defaultPort , defaultPortUsage )
218- redirectURL := flag .String ("url" , defaultTarget , defaultTargetUsage )
219- yGen := flag .Uint64 ("ygen" , 0 , "Invalid young generation size." )
220- tGen := flag .Uint64 ("tgen" , 0 , "Invalid tenured generation size." )
221- flag .Parse ()
222-
223- if * yGen == 0 || * tGen == 0 {
224- log .Fatalf ("Neither ygen nor tgen can be 0. ygen:%d tgen:%d" , * yGen , * tGen )
225- }
226-
227- proxy := newProxy (* redirectURL , * yGen , * tGen )
228-
229- router := httprouter .New ()
230- router .HandlerFunc ("GET" , "/" , proxy .handle )
231- log .Fatal (http .ListenAndServe (":" + * port , router ))
232- }
233-
234238////////// SHEDDING THRESHOLD
235239const (
236240 // We currently have room for increase/decrease the entropy three times in a row.
0 commit comments