//parse flags to set up rules timeout = 500 * time.Millisecond rules = auctioneer.DefaultRules natsClient = yagnats.NewClient() clusterInfo := &yagnats.ConnectionCluster{} for _, addr := range natsAddrs { clusterInfo.Members = append(clusterInfo.Members, &yagnats.ConnectionInfo{ Addr: addr, }) } err := natsClient.Connect(clusterInfo) Ω(err).ShouldNot(HaveOccurred()) client = repnatsclient.New(natsClient, timeout) if auctioneerMode == "inprocess" { communicator = func(auctionRequest types.AuctionRequest) types.AuctionResult { return auctioneer.Auction(client, auctionRequest) } } else if auctioneerMode == "remote" { communicator = func(auctionRequest types.AuctionRequest) types.AuctionResult { return auctioneer.RemoteAuction(natsClient, auctionRequest) } } else { panic("wat?") }