#include <realinterface.hh>
Public Member Functions | |
RealInterface (const sys::RealInterfaceInfo &info) | |
RealInterface (const sys::RealInterfaceInfo &info, const address_t &addr) | |
RealInterface (const This &other) | |
~RealInterface () | |
const address_t & | addr () const |
unsigned | mtu () const |
unsigned | prefix () const |
sch::IOEvent::p_t | recv_p () const |
sch::IOEvent::p_t | send_p () const |
void | insert_event (sch::IOEvent *e) |
void | erase_event (sch::IOEvent *e) |
void | destroy_all_events () |
const sys::RealInterfaceInfo & | info () const |
pkt::Packet | receive () const |
void | send (const pkt::Packet &p) const |
void | shipout (const pkt::Packet &p) |
unsigned | queue_size () const |
bool | operator< (const This &rhs) const |
void | configure () |
void | unconfigure () |
Static Public Member Functions | |
static This & | make_key (const address_t &a) |
Private Types | |
typedef RealInterface | This |
typedef utl::MultiStampable < 1, address_t > | Super |
typedef std::set< sch::IOEvent * > | events_t |
Private Member Functions | |
RealInterface () | |
Private Attributes | |
const sys::RealInterfaceInfo | info_ |
System-dependent information. | |
const address_t | addr_ |
RealInterface address. | |
unsigned | prefix_ |
sys::Socket | sock_ |
RealInterface socket. | |
events_t | events_ |
sch::PacketSender * | sender_ |
unsigned * | usecount_ |
sys::RealInterfaceInfo::config_t * | config_ |
unsigned | queue_size_ |
Static Private Attributes | |
static This | dummy_for_find_ |
Static instance for key generation. |
typedef RealInterface olsr::net::RealInterface::This [private] |
Reimplemented from olsr::utl::MultiStampable< Dim, Key, Compare >.
typedef utl::MultiStampable<1, address_t> olsr::net::RealInterface::Super [private] |
typedef std::set<sch::IOEvent*> olsr::net::RealInterface::events_t [private] |
olsr::net::RealInterface::RealInterface | ( | ) | [explicit, private] |
The private constructor
This is defined solely for the initialization of dummy_for_find_.
olsr::net::RealInterface::RealInterface | ( | const sys::RealInterfaceInfo & | info | ) | [inline] |
The constructor
References addr_, olsr::sys::Socket::bind_multicast(), config_, events_, olsr::sys::RealInterfaceInfo::get_bcast(), olsr::net::IPv6Address::header_length, olsr::sys::RealInterfaceInfo::index(), info_, olsr::net::IPv6Address::is_linklocal(), olsr::sys::RealInterfaceInfo::mtu(), olsr::sys::RealInterfaceInfo::name(), OLSR_PORT_NUMBER, olsr::cst::queue_size, queue_size_, sender_, olsr::sys::Socket::set_baddr(), olsr::sys::Socket::set_mtu(), sock_, and usecount_.
olsr::net::RealInterface::RealInterface | ( | const sys::RealInterfaceInfo & | info, | |
const address_t & | addr | |||
) | [inline] |
References addr_, olsr::sys::Socket::bind_multicast(), config_, events_, olsr::sys::RealInterfaceInfo::get_bcast(), olsr::net::IPv6Address::header_length, olsr::sys::RealInterfaceInfo::index(), info_, olsr::net::IPv6Address::is_linklocal(), olsr::sys::RealInterfaceInfo::mtu(), olsr::sys::RealInterfaceInfo::name(), OLSR_PORT_NUMBER, olsr::cst::queue_size, queue_size_, sender_, olsr::sys::Socket::set_baddr(), olsr::sys::Socket::set_mtu(), sock_, and usecount_.
olsr::net::RealInterface::RealInterface | ( | const This & | other | ) | [inline] |
The copy constructor
olsr::net::RealInterface::~RealInterface | ( | ) | [inline] |
The destructor
References olsr::sys::Socket::close(), config_, olsr::debug, olsr::sch::Scheduler::destroy(), events_, olsr::scheduler, sock_, unconfigure(), and usecount_.
const address_t& olsr::net::RealInterface::addr | ( | ) | const [inline] |
Address accessor
References addr_.
Referenced by olsr::sch::PacketReceiver::handle(), and olsr::alg::mprselection().
unsigned olsr::net::RealInterface::mtu | ( | ) | const [inline] |
MTU accessor
References olsr::net::IPv6Address::header_length, info_, and olsr::sys::RealInterfaceInfo::mtu().
unsigned olsr::net::RealInterface::prefix | ( | ) | const [inline] |
References prefix_.
sch::IOEvent::p_t olsr::net::RealInterface::recv_p | ( | ) | const [inline] |
References olsr::sys::Socket::read_p(), and sock_.
sch::IOEvent::p_t olsr::net::RealInterface::send_p | ( | ) | const [inline] |
References sock_, and olsr::sys::Socket::write_p().
void olsr::net::RealInterface::insert_event | ( | sch::IOEvent * | e | ) | [inline] |
References olsr::debug, events_, and olsr::sch::Event::name().
Referenced by olsr::sch::PacketReceiver::PacketReceiver(), and olsr::sch::PacketSender::PacketSender().
void olsr::net::RealInterface::erase_event | ( | sch::IOEvent * | e | ) | [inline] |
References olsr::debug, events_, olsr::sch::Event::name(), and sender_.
Referenced by olsr::sch::PacketSender::handle().
void olsr::net::RealInterface::destroy_all_events | ( | ) | [inline] |
References olsr::sch::Scheduler::destroy(), events_, olsr::scheduler, and sender_.
const sys::RealInterfaceInfo& olsr::net::RealInterface::info | ( | ) | const [inline] |
Information accessor
References info_.
pkt::Packet olsr::net::RealInterface::receive | ( | ) | const [inline] |
Packet receiver
References olsr::sys::Socket::receive(), and sock_.
Referenced by olsr::sch::PacketReceiver::handle().
void olsr::net::RealInterface::send | ( | const pkt::Packet & | p | ) | const [inline] |
Packet sender
References olsr::pkt::Packet::data(), olsr::sys::Socket::sendto_bcast(), and sock_.
Referenced by olsr::sch::PacketSender::handle().
void olsr::net::RealInterface::shipout | ( | const pkt::Packet & | p | ) | [inline] |
unsigned olsr::net::RealInterface::queue_size | ( | ) | const [inline] |
bool olsr::net::RealInterface::operator< | ( | const This & | rhs | ) | const [inline] |
RealInterface & olsr::net::RealInterface::make_key | ( | const address_t & | a | ) | [inline, static] |
Search key builder
References addr_, and dummy_for_find_.
Referenced by olsr::set::InterfaceSet::find().
void olsr::net::RealInterface::configure | ( | ) | [inline] |
References config_, and olsr::sys::internal::InterfaceConfig::setup().
void olsr::net::RealInterface::unconfigure | ( | ) | [inline] |
References config_, and olsr::sys::internal::InterfaceConfig::revert().
Referenced by ~RealInterface().
const sys::RealInterfaceInfo olsr::net::RealInterface::info_ [private] |
const address_t olsr::net::RealInterface::addr_ [private] |
unsigned olsr::net::RealInterface::prefix_ [private] |
Referenced by prefix().
sys::Socket olsr::net::RealInterface::sock_ [private] |
RealInterface socket.
Referenced by RealInterface(), receive(), recv_p(), send(), send_p(), and ~RealInterface().
events_t olsr::net::RealInterface::events_ [private] |
Referenced by destroy_all_events(), erase_event(), insert_event(), RealInterface(), and ~RealInterface().
Referenced by destroy_all_events(), erase_event(), RealInterface(), and shipout().
unsigned* olsr::net::RealInterface::usecount_ [private] |
Referenced by RealInterface(), and ~RealInterface().
Referenced by configure(), RealInterface(), unconfigure(), and ~RealInterface().
unsigned olsr::net::RealInterface::queue_size_ [private] |
Referenced by queue_size(), and RealInterface().
This olsr::net::RealInterface::dummy_for_find_ [static, private] |