#include <IPAnnounce.h>
Definition at line 31 of file IPAnnounce.h.
Public Member Functions | |
void | handle_neighbor_discovered (const std::string &nexthop, const EndpointID &remote_eid) |
Upon receipt of a beacon, the parent Discovery will deliver details to this callback method so that TCPCL or UDPCL can initiate contact to the advertising node. | |
size_t | format_advertisement (u_char *buf, size_t len) |
Serialize announcement out to buffer. | |
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 |
typedef IPDiscovery::DiscoveryHeader dtn::IPAnnounce::DiscoveryHeader [protected] |
Definition at line 50 of file IPAnnounce.h.
dtn::IPAnnounce::IPAnnounce | ( | ) | [protected] |
void dtn::IPAnnounce::handle_neighbor_discovered | ( | const std::string & | nexthop, | |
const EndpointID & | remote_eid | |||
) | [virtual] |
Upon receipt of a beacon, the parent Discovery will deliver details to this callback method so that TCPCL or UDPCL can initiate contact to the advertising node.
Implements dtn::Announce.
Definition at line 103 of file IPAnnounce.cc.
References ASSERT, dtn::Announce::cl_, dtn::ContactManager::find_link_to(), log_warn, oasys::Logger::logpath_, dtn::TCPConvergenceLayer::new_connection(), dtn::TCPConvergenceLayer::new_link_params(), dtn::IPConvergenceLayerUtils::parse_nexthop(), dtn::TCPConvergenceLayer::TCPLinkParams::remote_addr_, dtn::TCPConvergenceLayer::TCPLinkParams::remote_port_, oasys::Thread::start(), 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 79 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().
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 33 of file IPAnnounce.cc.
References oasys::OptParser::addopt(), oasys::StringBuffer::c_str(), dtn::Announce::cl_, cl_addr_, cl_port_, dtn::Announce::interval_, intoa, dtn::Announce::local_, log_err, dtn::ConvergenceLayer::name(), dtn::Announce::name_, oasys::OptParser::parse(), and dtn::Announce::type_.
friend class Announce [friend] |
Definition at line 48 of file IPAnnounce.h.
in_addr_t dtn::IPAnnounce::cl_addr_ [protected] |
next hop info for CL to be advertised
Definition at line 66 of file IPAnnounce.h.
Referenced by configure(), and format_advertisement().
u_int16_t dtn::IPAnnounce::cl_port_ [protected] |