| 
 | 
 | ||||||||||||||||
Base class for RIP Port I/O classes.
RIP Port I/O classes provide support for reading and writing to RIP Ports.
| typedef A Addr | Addr | 
| typedef PortIOUserBase<A> PortIOUser | PortIOUser | 
| PortIOBase (PortIOUser&	user,
	       const string&	ifname,
	       const string&	vifname,
	       const Addr&	address,
	       bool		enabled = true) | PortIOBase | 
Constructor associating a Port I/O User object with I/O object.
| ~PortIOBase () | ~PortIOBase | 
[virtual]
| bool  send (const Addr&		dst_addr,
		      uint16_t			dst_port,
		      const vector<uint8_t>&	rip_packet) | send | 
[pure virtual]
Send RIP packet to Port.
The invoker of this method is expected to be the associated Port I/O User instance. The invoker is responsible for the packet data in the send request and should not decommission the data until it receives the PortIOUserBase<A>::send_completion callback. If the request to send fails immediately the send_completion callback is not called for the associated data.
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.
| bool  pending () | pending | 
[const pure virtual]
Check if send request is pending.
Returns: true if a send request is pending, false otherwise.
| inline const string&  ifname () | ifname | 
[const]
Get Interface name associated with I/O.
| inline const string&  vifname () | vifname | 
[const]
Get Virtual Interface name associated with I/O.
| inline const Addr&  address () | address | 
[const]
| inline size_t  max_route_entries_per_packet () | max_route_entries_per_packet | 
[const]
Get the maximum number of route entries in a packet.
| inline bool  set_max_route_entries_per_packet (size_t max_entries) | set_max_route_entries_per_packet | 
Set the maximum number of route entries in a packet.
Returns: true on success, false if route entries per packet is fixed.
| inline bool	 enabled () | enabled | 
[const]
Get enabled status of I/O system.
| inline void  set_enabled (bool en) | set_enabled | 
Set enabled status of I/O system. The user object associated with the I/O system will be notified through PortIOBase<A>::port_io_enabled_change() if the enabled state changes.
Parameters:
| en | new enable state. | 
| PortIOUser& _user | _user | 
[protected]
| string _ifname | _ifname | 
[protected]
| string _vifname | _vifname | 
[protected]
| Addr _addr | _addr | 
[protected]
| size_t _max_rte_pp | _max_rte_pp | 
[protected]
| bool _en | _en | 
[protected]
| template <typename A>
 PortIOBase (PortIOUser&	user,
			  const string&	ifname,
			  const string&	vifname,
			  const Addr&	addr,
			  bool		en) | PortIOBase | 
[protected]
| template <typename A>
 ~PortIOBase () | ~PortIOBase | 
[protected]
| template <>
inline bool
 set_max_route_entries_per_packet (size_t) | set_max_route_entries_per_packet | 
[protected]
| template <>
inline bool
 set_max_route_entries_per_packet (size_t max_entries) | set_max_route_entries_per_packet | 
[protected]
| template <typename A>
inline void
 set_enabled (bool en) | set_enabled | 
[protected]