// sends all data or throws an exception void Socket::send( const char * data , int len, const char *context ) { while( len > 0 ) { int ret = -1; if (MONGO_FAIL_POINT(throwSockExcep)) { #if defined(_WIN32) WSASetLastError(WSAENETUNREACH); #else errno = ENETUNREACH; #endif } else { ret = _send(data, len); } if (ret == -1) _handleSendError(ret, context); _bytesOut += ret; fassert(16507, ret <= len); len -= ret; data += ret; } }
// sends all data or throws an exception void Socket::send( const char * data , int len, const char *context ) { while( len > 0 ) { int ret = _send( data , len ); if (ret == -1 || MONGO_FAIL_POINT(throwSockExcep)) { _handleSendError(ret, context); } _bytesOut += ret; fassert(16507, ret <= len); len -= ret; data += ret; } }