bug 203: Listen must be implemented for Udp and Packet sockets.
This commit is contained in:
@@ -216,6 +216,13 @@ UdpSocketImpl::Connect(const Address & address)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
UdpSocketImpl::Listen (uint32_t queueLimit)
|
||||
{
|
||||
m_errno = Socket::ERROR_OPNOTSUPP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
UdpSocketImpl::Send (Ptr<Packet> p)
|
||||
{
|
||||
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
virtual int ShutdownSend (void);
|
||||
virtual int ShutdownRecv (void);
|
||||
virtual int Connect(const Address &address);
|
||||
virtual int Listen (uint32_t queueLimit);
|
||||
virtual int Send (Ptr<Packet> p);
|
||||
virtual int SendTo (Ptr<Packet> p, const Address &address);
|
||||
virtual uint32_t GetTxAvailable (void) const;
|
||||
|
||||
@@ -220,6 +220,12 @@ PacketSocket::Connect(const Address &ad)
|
||||
NotifyConnectionFailed ();
|
||||
return -1;
|
||||
}
|
||||
int
|
||||
PacketSocket::Listen(uint32_t queueLimit)
|
||||
{
|
||||
m_errno = Socket::ERROR_OPNOTSUPP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
PacketSocket::Send (Ptr<Packet> p)
|
||||
|
||||
@@ -71,6 +71,8 @@ class PacketSocketAddress;
|
||||
* The fields "physical address", device, and protocol are filled.
|
||||
*
|
||||
* - Accept: not allowed
|
||||
*
|
||||
* - Listen: returns -1 (OPNOTSUPP)
|
||||
*/
|
||||
class PacketSocket : public Socket
|
||||
{
|
||||
@@ -90,6 +92,7 @@ public:
|
||||
virtual int ShutdownSend (void);
|
||||
virtual int ShutdownRecv (void);
|
||||
virtual int Connect(const Address &address);
|
||||
virtual int Listen(uint32_t queueLimit);
|
||||
virtual int Send (Ptr<Packet> p);
|
||||
virtual uint32_t GetTxAvailable (void) const;
|
||||
|
||||
|
||||
@@ -103,12 +103,6 @@ Socket::SetRecvCallback (Callback<void, Ptr<Socket> > receivedData)
|
||||
m_receivedData = receivedData;
|
||||
}
|
||||
|
||||
int Socket::Listen (uint32_t queueLimit)
|
||||
{
|
||||
return 0; //XXX the base class version does nothing
|
||||
}
|
||||
|
||||
|
||||
int Socket::Send (const uint8_t* buf, uint32_t size)
|
||||
{
|
||||
NS_LOG_FUNCTION_NOARGS ();
|
||||
|
||||
@@ -231,9 +231,9 @@ public:
|
||||
/**
|
||||
* \brief Listen for incoming connections.
|
||||
* \param queueLimit maximum number of incoming request to queue
|
||||
* \returns XXX an error code
|
||||
* \returns 0 on success, -1 on error (in which case errno is set).
|
||||
*/
|
||||
virtual int Listen (uint32_t queueLimit);
|
||||
virtual int Listen (uint32_t queueLimit) = 0;
|
||||
|
||||
/**
|
||||
* \brief Send data (or dummy data) to the remote host
|
||||
|
||||
Reference in New Issue
Block a user