(nodes []*proto.Node, f AcceptConn)
| 170 | } |
| 171 | |
| 172 | func setupServers(nodes []*proto.Node, f AcceptConn) (stop func(), err error) { |
| 173 | servers := make([]*Server, len(nodes)) |
| 174 | for i, v := range nodes { |
| 175 | if servers[i], err = setupServer(v); err != nil { |
| 176 | return |
| 177 | } |
| 178 | } |
| 179 | |
| 180 | wg := &sync.WaitGroup{} |
| 181 | for _, v := range servers { |
| 182 | wg.Add(1) |
| 183 | go func(server *Server) { |
| 184 | defer wg.Done() |
| 185 | server.WithAcceptConnFunc(f).Serve() |
| 186 | }(v) |
| 187 | } |
| 188 | |
| 189 | return func() { |
| 190 | for _, v := range nodes { |
| 191 | defaultResolver.deleteNode(*(v.ID.ToRawNodeID())) |
| 192 | } |
| 193 | for _, v := range servers { |
| 194 | v.Stop() |
| 195 | } |
| 196 | wg.Wait() |
| 197 | }, nil |
| 198 | } |
| 199 | |
| 200 | func setupEnvironment(n int, f AcceptConn) ([]*proto.Node, func(), error) { |
| 201 | nodes, err := createLocalNodes(10, n) |
no test coverage detected