#define prefix_
///////////////////////////////cc.p////////////////////////////////////////
-prefix_ unsigned senf::ReadablePolicy::read(FileHandle handle, char * buffer,
+prefix_ unsigned senf::ReadablePolicy::read(FileHandle & handle, char * buffer,
unsigned size)
{
int rv = -1;
return rv;
}
-prefix_ unsigned senf::ReadablePolicy::do_readfrom(FileHandle handle, char * buffer,
+prefix_ unsigned senf::ReadablePolicy::do_readfrom(FileHandle & handle, char * buffer,
unsigned size,
struct ::sockaddr * addr, socklen_t * len)
{
return rv;
}
-prefix_ unsigned senf::WriteablePolicy::do_write(FileHandle handle, char const * buffer,
+prefix_ unsigned senf::WriteablePolicy::do_write(FileHandle & handle, char const * buffer,
unsigned size)
{
int rv = -1;
case EINTR:
break;
case EAGAIN:
+ case ENOBUFS:
+ // According to the man page this should not happen, since packets are just silently being dropped.
+ // It does happen in NetEmu using small TxQueues on WLAN interfaces
case ECONNREFUSED:
// Writing to a UDP socket seems return this error code if a corresponding ICMP
// error code has been received before (at least on linux). This is inconsistent
return rv;
}
-prefix_ unsigned senf::WriteablePolicy::do_writeto(FileHandle handle,
+prefix_ unsigned senf::WriteablePolicy::do_writeto(FileHandle & handle,
char const * buffer, unsigned size,
struct sockaddr const * addr, socklen_t len)
{
case EINTR:
break;
case EAGAIN:
+ case ENOBUFS:
+ // According to the man page this should not happen, since packets are just silently being dropped.
+ // It does happen in NetEmu using small TxQueues on WLAN interfaces
rv = 0;
break;
default: