Helper class that 1) formats outbound beacons to advertise this CL instance via neighbor discovery, and 2) responds to inbound advertisements by creating a new Contact. More...
#include <IPAnnounce.h>
Public Member Functions | |
size_t | format_advertisement (u_char *buf, size_t len) |
Serialize announcement out to buffer. | |
const in_addr_t & | cl_addr () const |
Export cl_addr to use in sending Announcement out on correct interface. | |
Protected Types | |
typedef IPDiscovery::DiscoveryHeader | DiscoveryHeader |
Protected Member Functions | |
IPAnnounce () | |
Constructor. | |
bool | configure (const std::string &name, ConvergenceLayer *cl, int argc, const char *argv[]) |
Deserialize parameters for configuration. | |
Protected Attributes | |
in_addr_t | cl_addr_ |
next hop info for CL to be advertised | |
u_int16_t | cl_port_ |
Friends | |
class | Announce |
Helper class that 1) formats outbound beacons to advertise this CL instance via neighbor discovery, and 2) responds to inbound advertisements by creating a new Contact.
Definition at line 31 of file IPAnnounce.h.
typedef IPDiscovery::DiscoveryHeader dtn::IPAnnounce::DiscoveryHeader [protected] |
Definition at line 47 of file IPAnnounce.h.
dtn::IPAnnounce::IPAnnounce | ( | ) | [protected] |
Constructor.
Definition at line 30 of file IPAnnounce.cc.
const in_addr_t& dtn::IPAnnounce::cl_addr | ( | ) | const [inline] |
Export cl_addr to use in sending Announcement out on correct interface.
Definition at line 42 of file IPAnnounce.h.
References cl_addr_.
Referenced by dtn::IPDiscovery::run().
bool dtn::IPAnnounce::configure | ( | const std::string & | name, | |
ConvergenceLayer * | cl, | |||
int | argc, | |||
const char * | argv[] | |||
) | [protected, virtual] |
Deserialize parameters for configuration.
Implements dtn::Announce.
Definition at line 36 of file IPAnnounce.cc.
References buf, dtn::Announce::cl_, cl_addr_, cl_port_, dtn::Announce::interval_, dtn::Announce::local_, dtn::ConvergenceLayer::name(), dtn::Announce::name_, and dtn::Announce::type_.
size_t dtn::IPAnnounce::format_advertisement | ( | u_char * | buf, | |
size_t | len | |||
) | [virtual] |
Serialize announcement out to buffer.
Implements dtn::Announce.
Definition at line 82 of file IPAnnounce.cc.
References dtn::EndpointID::c_str(), cl_addr_, cl_port_, dtn::IPDiscovery::DiscoveryHeader::cl_type, dtn::Announce::data_sent_, FOUR_BYTE_ALIGN, dtnsim::gettimeofday(), dtn::IPDiscovery::DiscoveryHeader::inet_addr, dtn::IPDiscovery::DiscoveryHeader::inet_port, dtn::IPDiscovery::DiscoveryHeader::interval, dtn::Announce::interval_, dtn::IPDiscovery::DiscoveryHeader::length, dtn::EndpointID::length(), dtn::IPDiscovery::DiscoveryHeader::name_len, dtn::IPDiscovery::DiscoveryHeader::sender_name, dtn::IPDiscovery::str_to_type(), and dtn::Announce::type().
Referenced by dtn::IPDiscovery::run().
friend class Announce [friend] |
Definition at line 45 of file IPAnnounce.h.
in_addr_t dtn::IPAnnounce::cl_addr_ [protected] |
next hop info for CL to be advertised
Definition at line 63 of file IPAnnounce.h.
Referenced by cl_addr(), configure(), and format_advertisement().
u_int16_t dtn::IPAnnounce::cl_port_ [protected] |
Definition at line 64 of file IPAnnounce.h.
Referenced by configure(), and format_advertisement().