MCPcopy Create free account
hub / github.com/aria2/aria2 / acceptConnection

Method acceptConnection

src/SocketCore.cc:372–390  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

370}
371
372std::shared_ptr<SocketCore> SocketCore::acceptConnection() const
373{
374 sockaddr_union sockaddr;
375 socklen_t len = sizeof(sockaddr);
376 sock_t fd;
377 while ((fd = accept(sockfd_, &sockaddr.sa, &len)) == (sock_t)-1 &&
378 SOCKET_ERRNO == A2_EINTR)
379 ;
380 int errNum = SOCKET_ERRNO;
381 if (fd == (sock_t)-1) {
382 throw DL_ABORT_EX(fmt(EX_SOCKET_ACCEPT, errorMsg(errNum).c_str()));
383 }
384
385 applySocketBufferSize(fd);
386
387 auto sock = std::make_shared<SocketCore>(fd, sockType_);
388 sock->setNonBlockingMode();
389 return sock;
390}
391
392Endpoint SocketCore::getAddrInfo() const
393{

Callers 6

setUpMethod · 0.80
performHttpRequestFunction · 0.80
createSocketPairFunction · 0.80
executeMethod · 0.80
executeMethod · 0.80
waitConnectionMethod · 0.80

Calls 4

fmtFunction · 0.85
errorMsgFunction · 0.85
applySocketBufferSizeFunction · 0.85
setNonBlockingModeMethod · 0.80

Tested by 3

setUpMethod · 0.64
performHttpRequestFunction · 0.64
createSocketPairFunction · 0.64