MCPcopy Create free account
hub / github.com/DOSNetwork/core / handleCallReq

Method handleCallReq

p2p/server.go:270–297  ·  view source on GitHub ↗
(req p2pRequest)

Source from the content-addressed store, hash-verified

268}
269
270func (n *server) handleCallReq(req p2pRequest) (c *client) {
271 var fd net.Conn
272 var err error
273
274 if fd, err = net.Dial("tcp", req.addr); err != nil {
275 err = &P2PError{err: errors.Errorf("dial %s failed: %w", req.addr, err), t: time.Now()}
276 req.replyResult(nil, err)
277 n.logger.Error(err)
278 return
279 }
280
281 c = newClient(n.id, fd, n.peersFeed, true)
282 errc := c.handShake(req.ctx)
283 for err = range errc {
284 err = &P2PError{err: errors.Errorf("server handleCallReq: %w", err), t: time.Now()}
285 n.logger.Error(err)
286 }
287 if err != nil {
288 req.replyResult(nil, err)
289 err = c.close()
290 if err != nil {
291 err = &P2PError{err: errors.Errorf("close failed in handleCallReq: %w", err), t: time.Now()}
292 n.logger.Error(err)
293 }
294 c = nil
295 }
296 return
297}
298
299func (n *server) Leave() {
300 n.cancel()

Callers 1

callHandlerMethod · 0.95

Calls 5

newClientFunction · 0.85
replyResultMethod · 0.80
handShakeMethod · 0.80
closeMethod · 0.80
ErrorMethod · 0.65

Tested by

no test coverage detected