typedef A Addr | Addr |
typedef PortIOUserBase<A> PortIOUser | PortIOUser |
XrlPortIO (XrlRouter& xr,
PortIOUser& port,
const string& ifname,
const string& vifname,
const Addr& addr)
| XrlPortIO |
bool startup ()
| startup |
Startup. Sends request to FEA for socket server for address and then attempts to instantiate socket with socket server. If both operations are successful, instance status transitions to SERVICE_RUNNING. Otherwise, it transitions to failed.
Returns: true on success, false on failure.
Reimplemented from ServiceBase.
bool shutdown ()
| shutdown |
Shutdown. Sends request to close socket and transitions into SERVICE_SHUTTING_DOWN state. When socket is closed transition to SERVICE_SHUTDOWN occurs.
Returns: true on success, false on failure.
Reimplemented from ServiceBase.
bool send (const Addr& dst_addr,
uint16_t dst_port,
const vector<uint8_t>& rip_packet)
| send |
Send packet. Status of instance must be running. When packet is sent, the pending() method will return true until the Xrl sending the packet has completed.
Parameters:
dst_addr | address to send packet. |
dst_port | port to send packet to. |
rip_packet | vector containing rip packet to be sent. |
Returns: false on immediately detectable failure, true otherwise.
Reimplemented from PortIOBase.
bool pending ()
| pending |
[const]
Return true if awaiting send() completion, false otherwise.
Reimplemented from PortIOBase.
inline const string& socket_server ()
| socket_server |
[const]
Get name of socket server used to instantiate socket.
inline const string& socket_id ()
| socket_id |
[const]
XrlRouter& _xr | _xr |
[protected]
string _ss | _ss |
[protected]
string _sid | _sid |
[protected]
bool _pending | _pending |
[protected]