diff --git a/weaver/main.go b/weaver/main.go index 1562fb5a..81558dab 100644 --- a/weaver/main.go +++ b/weaver/main.go @@ -70,15 +70,7 @@ func main() { os.Exit(0) } - options := make(map[string]string) - flag.Visit(func(f *flag.Flag) { - value := f.Value.String() - if f.Name == "password" { - value = "" - } - options[f.Name] = value - }) - log.Println("Command line options:", options) + log.Println("Command line options:", options()) log.Println("Command line peers:", peers) var err error @@ -141,17 +133,25 @@ func main() { log.Println("Our name is", router.Ourself.FullName()) router.Start() - for _, peer := range peers { - if err := router.ConnectionMaker.InitiateConnection(peer); err != nil { - log.Fatal(err) - } - } + initiateConnections(router, peers) if httpAddr != "" { go handleHTTP(router, httpAddr) } handleSignals(router) } +func options() map[string]string { + options := make(map[string]string) + flag.Visit(func(f *flag.Flag) { + value := f.Value.String() + if f.Name == "password" { + value = "" + } + options[f.Name] = value + }) + return options +} + func logFrameFunc(debug bool) weave.LogFrameFunc { if !debug { return func(prefix string, frame []byte, eth *layers.Ethernet) {} @@ -166,6 +166,14 @@ func logFrameFunc(debug bool) weave.LogFrameFunc { } } +func initiateConnections(router *weave.Router, peers []string) { + for _, peer := range peers { + if err := router.ConnectionMaker.InitiateConnection(peer); err != nil { + log.Fatal(err) + } + } +} + func handleHTTP(router *weave.Router, httpAddr string) { encryption := "off" if router.UsingPassword() {