23 VsnetSocket( sock, remote_ip,
"VsnetUDPSocket", socketset )
24 , _mtu_size_estimation( 1024 )
37 return _mtu_size_estimation;
75 const sockaddr_in *dest = to;
77 assert( dest != NULL );
80 COUT<<
"Trying to send UDP "<<packet->
getCommand()<<
" of invalid size "
82 packet->
display( __FILE__, __LINE__ );
85 #ifndef NO_CRASH_INVALID_UDP
90 numsent = sendto(
get_fd(),
92 0, (sockaddr*) dest,
sizeof (
struct sockaddr_in) );
104 if ( _cpq.empty() ) {
110 if (ipadr) *ipadr = _cpq.front().ip;
113 int len = buffer.
len();
127 bool ret = (_cpq.empty() ==
false);
137 size_t lentoread = _negotiated_max_size;
141 len1 =
sizeof (sockaddr_in);
142 ret = recvfrom(
get_fd(), _recv_buf, lentoread,
143 0, (sockaddr*) (sockaddr_in*) &from, &len1 );
147 }
else if (ret == 0) {
148 COUT<<
" Received "<<ret<<
" bytes : "<<_recv_buf
149 <<
" (UDP socket closed, strange)"<<endl;
152 Pending mem( _recv_buf, ret, from );