|
|
|
|
@ -453,15 +453,33 @@ public:
|
|
|
|
|
inline bool udpSend(PhySocket *sock,const struct sockaddr *remoteAddress,const void *data,unsigned long len) |
|
|
|
|
{ |
|
|
|
|
PhySocketImpl &sws = *(reinterpret_cast<PhySocketImpl *>(sock)); |
|
|
|
|
bool sent = false; |
|
|
|
|
#if defined(_WIN32) || defined(_WIN64) |
|
|
|
|
int sent = ((long)::sendto(sws.sock,reinterpret_cast<const char *>(data),len,0,remoteAddress,(remoteAddress->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) == (long)len); |
|
|
|
|
Metrics::udp_send += sent; |
|
|
|
|
return sent; |
|
|
|
|
sent = ((long)::sendto( |
|
|
|
|
sws.sock, |
|
|
|
|
reinterpret_cast<const char *>(data), |
|
|
|
|
len, |
|
|
|
|
0, |
|
|
|
|
remoteAddress, |
|
|
|
|
(remoteAddress->sa_family == AF_INET6) ?
|
|
|
|
|
sizeof(struct sockaddr_in6) :
|
|
|
|
|
sizeof(struct sockaddr_in)) == (long)len); |
|
|
|
|
#else |
|
|
|
|
ssize_t sent = ((long)::sendto(sws.sock,data,len,0,remoteAddress,(remoteAddress->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in)) == (long)len); |
|
|
|
|
Metrics::udp_send += sent; |
|
|
|
|
return sent; |
|
|
|
|
sent = ((long)::sendto( |
|
|
|
|
sws.sock, |
|
|
|
|
data, |
|
|
|
|
len, |
|
|
|
|
0, |
|
|
|
|
remoteAddress, |
|
|
|
|
(remoteAddress->sa_family == AF_INET6) ?
|
|
|
|
|
sizeof(struct sockaddr_in6) :
|
|
|
|
|
sizeof(struct sockaddr_in)) == (long)len); |
|
|
|
|
#endif |
|
|
|
|
if (sent) { |
|
|
|
|
Metrics::udp_send += len; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return sent; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef __UNIX_LIKE__ |
|
|
|
|
|