NetlinkSocketReader (NetlinkSocket4& ns4, NetlinkSocket6& ns6)
| NetlinkSocketReader |
~NetlinkSocketReader ()
| ~NetlinkSocketReader |
[virtual]
int receive_data4 (uint32_t seqno)
| receive_data4 |
Force the reader to receive data from the IPv4 netlink socket.
Parameters:
seqno | the sequence number of the data to receive. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int receive_data6 (uint32_t seqno)
| receive_data6 |
Force the reader to receive data from the IPv6 netlink socket.
Parameters:
seqno | the sequence number of the data to receive. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int receive_data (NetlinkSocket& ns, uint32_t seqno)
| receive_data |
Force the reader to receive data from the specified netlink socket.
Parameters:
ns | the netlink socket to receive the data from. |
seqno | the sequence number of the data to receive. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
const uint8_t* buffer ()
| buffer |
[const]
Get the buffer with the data that was received.
Returns: a pointer to the beginning of the buffer with the data that was received.
const size_t buffer_size ()
| buffer_size |
[const]
Get the size of the buffer with the data that was received.
Returns: the size of the buffer with the data that was received.
void nlsock_data (const uint8_t* data, size_t nbytes)
| nlsock_data |
[virtual]
Receive data from the netlink socket.
Note that this method is called asynchronously when the netlink socket has data to receive, therefore it should never be called directly by anything else except the netlink socket facility itself.
Parameters:
data | the buffer with the received data. |
nbytes | the number of bytes in the data buffer. |
Reimplemented from NetlinkSocketObserver.