|
|
RoutingSocket class opens a routing socket and forwards data arriving on the socket to RoutingSocketObservers. The RoutingSocket hooks itself into the EventLoop and activity usually happens asynchronously.
RoutingSocket (EventLoop& e)
| RoutingSocket |
~RoutingSocket ()
| ~RoutingSocket |
int start (int af = AF_UNSPEC)
| start |
Start the routing socket operation.
Parameters:
af | the address family. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop ()
| stop |
Stop the routing socket operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
inline bool is_open ()
| is_open |
[const]
Test if the routing socket is open.
This method is needed because RoutingSocket may fail to open routing socket during construction.
Returns: true if the routing socket is open, otherwise false.
ssize_t write (const void* data, size_t nbytes)
| write |
Write data to routing socket.
This method also updates the sequence number associated with this routing socket.
Returns: the number of bytes which were written, or -1 if error.
inline uint32_t seqno ()
| seqno |
[const]
Get the sequence number for next message written into the kernel.
The sequence number is derived from the instance number of this routing socket and a 16-bit counter.
Returns: the sequence number for the next message written into the kernel.
inline pid_t pid ()
| pid |
[const]
Get the cached process identifier value.
Returns: the cached process identifier value.
void force_read ()
| force_read |
Force socket to read data.
This usually is performed after writing a request that the kernel will answer (e.g., after writing a route lookup). Use sparingly, with caution, and at your own risk.
Generated by: pavlin on possum.icir.org on Thu Nov 6 23:46:57 2003, using kdoc 2.0a54+XORP. |