From 308da993eb74a15986173f55174593670c405734 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Fri, 27 Mar 2015 01:51:04 +0000 Subject: [PATCH] refactor: extract some funs for better readability --- weaver/main.go | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/weaver/main.go b/weaver/main.go index 7277bcf6..682509c7 100644 --- a/weaver/main.go +++ b/weaver/main.go @@ -114,29 +114,35 @@ func main() { log.Println("Communication between peers is encrypted.") } - var logFrame func(string, []byte, *layers.Ethernet) - if debug { - logFrame = func(prefix string, frame []byte, eth *layers.Ethernet) { - h := fmt.Sprintf("%x", sha256.Sum256(frame)) - if eth == nil { - log.Println(prefix, len(frame), "bytes (", h, ")") - } else { - log.Println(prefix, len(frame), "bytes (", h, "):", eth.SrcMAC, "->", eth.DstMAC) - } - } - } else { - logFrame = func(prefix string, frame []byte, eth *layers.Ethernet) {} - } - if prof != "" { p := *profile.CPUProfile p.ProfilePath = prof defer profile.Start(&p).Stop() } - router := weave.NewRouter(iface, ourName, nickName, pwSlice, connLimit, bufSz*1024*1024, logFrame) + router := weave.NewRouter(iface, ourName, nickName, pwSlice, connLimit, bufSz*1024*1024, logFrameFunc(debug)) log.Println("Our name is", router.Ourself.Name, "("+router.Ourself.NickName+")") router.Start() + initiateConnections(router, peers) + go handleHTTP(router) + handleSignals(router) +} + +func logFrameFunc(debug bool) func(string, []byte, *layers.Ethernet) { + if !debug { + return func(prefix string, frame []byte, eth *layers.Ethernet) {} + } + return func(prefix string, frame []byte, eth *layers.Ethernet) { + h := fmt.Sprintf("%x", sha256.Sum256(frame)) + if eth == nil { + log.Println(prefix, len(frame), "bytes (", h, ")") + } else { + log.Println(prefix, len(frame), "bytes (", h, "):", eth.SrcMAC, "->", eth.DstMAC) + } + } +} + +func initiateConnections(router *weave.Router, peers []string) { for _, peer := range peers { if addr, err := net.ResolveTCPAddr("tcp4", weave.NormalisePeerAddr(peer)); err == nil { router.ConnectionMaker.InitiateConnection(addr.String()) @@ -144,8 +150,6 @@ func main() { log.Fatal(err) } } - go handleHTTP(router) - handleSignals(router) } func handleHTTP(router *weave.Router) {