#include <EndpointID.h>
Inheritance diagram for dtn::EndpointID:
Definition at line 53 of file EndpointID.h.
Public Member Functions | |
EndpointID () | |
Default constructor. | |
EndpointID (const oasys::Builder &) | |
Constructor for deserialization. | |
EndpointID (const std::string &str) | |
Construct the endpoint id from the given string. | |
EndpointID (const EndpointID &other) | |
Construct the endpoint id from another. | |
virtual | ~EndpointID () |
Destructor. | |
bool | assign (const EndpointID &other) |
Assign this endpoint ID as a copy of the other. | |
bool | assign (const std::string &str) |
Set the string and parse it. | |
bool | assign (const std::string &scheme, const std::string &ssp) |
Set the string from component pieces and parse it. | |
bool | equals (const EndpointID &other) const |
Simple equality test function. | |
bool | operator== (const EndpointID &other) const |
Operator overload for equality syntactic sugar. | |
bool | operator!= (const EndpointID &other) const |
Operator overload for inequality syntactic sugar. | |
bool | assign (const dtn_endpoint_id_t *eid) |
Set the string from the API type dtn_endpoint_id_t. | |
bool | append_service_tag (const char *tag) |
Append the specified service tag (in a scheme-specific manner) to the ssp. | |
void | copyto (dtn_endpoint_id_t *eid) const |
Copy the endpoint id contents out to the API type dtn_endpoint_id_t. | |
bool | known_scheme () const |
Return an indication of whether or not the scheme is known. | |
virtual void | serialize (oasys::SerializeAction *a) |
Virtual from SerializableObject. | |
const std::string & | str () const |
Accessors and wrappers around the various fields. | |
const std::string & | scheme_str () const |
Accessors and wrappers around the various fields. | |
const std::string & | ssp () const |
Accessors and wrappers around the various fields. | |
Scheme * | scheme () const |
Accessors and wrappers around the various fields. | |
bool | valid () const |
Accessors and wrappers around the various fields. | |
bool | is_pattern () const |
Accessors and wrappers around the various fields. | |
const char * | c_str () const |
Accessors and wrappers around the various fields. | |
const char * | data () const |
Accessors and wrappers around the various fields. | |
size_t | length () const |
Accessors and wrappers around the various fields. | |
Static Public Member Functions | |
static const EndpointID | NULL_EID () |
Return the special endpoint id used for the null endpoint, namely "dtn:none". | |
static const EndpointID | WILDCARD_EID () |
Return the special wildcard Endpoint ID. | |
Protected Member Functions | |
bool | parse () |
Extract and look up the scheme and ssp. | |
Protected Attributes | |
std::string | str_ |
std::string | scheme_str_ |
std::string | ssp_ |
Scheme * | scheme_ |
bool | valid_ |
bool | is_pattern_ |
dtn::EndpointID::EndpointID | ( | ) | [inline] |
Default constructor.
Definition at line 58 of file EndpointID.h.
Referenced by NULL_EID(), and WILDCARD_EID().
dtn::EndpointID::EndpointID | ( | const oasys::Builder & | ) | [inline] |
dtn::EndpointID::EndpointID | ( | const std::string & | str | ) | [inline] |
Construct the endpoint id from the given string.
Definition at line 69 of file EndpointID.h.
References parse().
dtn::EndpointID::EndpointID | ( | const EndpointID & | other | ) | [inline] |
Construct the endpoint id from another.
Definition at line 78 of file EndpointID.h.
References assign().
virtual dtn::EndpointID::~EndpointID | ( | ) | [inline, virtual] |
bool dtn::EndpointID::assign | ( | const EndpointID & | other | ) | [inline] |
Assign this endpoint ID as a copy of the other.
Definition at line 93 of file EndpointID.h.
References is_pattern_, scheme_, scheme_str_, ssp_, str_, and valid_.
Referenced by dtn::BundleDaemon::accept_custody(), dtn::BundleDaemon::BundleDaemon(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), EndpointID(), dtn::EndpointIDPattern::EndpointIDPattern(), dtnsim::NodeCommand::exec(), dtn::BundleCommand::exec(), dtn::APIClient::handle_send(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::CustodySignal::parse_custody_signal(), dtn::BundleStatusReport::parse_status_report(), dtn::BundleDaemon::release_custody(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), dtn::BundleDaemon::set_local_eid(), dtn::Link::set_remote_eid(), and dtn::TcaEndpointID::TcaEndpointID().
bool dtn::EndpointID::assign | ( | const std::string & | str | ) | [inline] |
Set the string and parse it.
Definition at line 108 of file EndpointID.h.
bool dtn::EndpointID::assign | ( | const std::string & | scheme, | |
const std::string & | ssp | |||
) | [inline] |
Set the string from component pieces and parse it.
Definition at line 118 of file EndpointID.h.
bool dtn::EndpointID::equals | ( | const EndpointID & | other | ) | const [inline] |
Simple equality test function.
Definition at line 127 of file EndpointID.h.
References str_.
Referenced by dtn::BundleDaemon::accept_custody(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::RouteTable::del_entries(), dtn::RouteTable::del_entry(), dtn::BundleDaemon::find_duplicate(), dtn::BundleDaemon::generate_custody_signal(), dtn::RegistrationTable::get(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::TableBasedRouter::handle_link_created(), and dtn::ProphetRouter::handle_link_created().
bool dtn::EndpointID::operator== | ( | const EndpointID & | other | ) | const [inline] |
Operator overload for equality syntactic sugar.
Definition at line 135 of file EndpointID.h.
References str_.
bool dtn::EndpointID::operator!= | ( | const EndpointID & | other | ) | const [inline] |
Operator overload for inequality syntactic sugar.
Definition at line 143 of file EndpointID.h.
References str_.
bool dtn::EndpointID::assign | ( | const dtn_endpoint_id_t * | eid | ) |
Set the string from the API type dtn_endpoint_id_t.
Definition at line 137 of file EndpointID.cc.
References parse(), str_, and dtn_endpoint_id_t::uri.
bool dtn::EndpointID::append_service_tag | ( | const char * | tag | ) |
Append the specified service tag (in a scheme-specific manner) to the ssp.
Definition at line 116 of file EndpointID.cc.
References dtn::Scheme::append_service_tag(), scheme_, scheme_str_, ssp_, and str_.
Referenced by dtn::APIClient::handle_local_eid().
void dtn::EndpointID::copyto | ( | dtn_endpoint_id_t * | eid | ) | const |
Copy the endpoint id contents out to the API type dtn_endpoint_id_t.
Definition at line 148 of file EndpointID.cc.
References ASSERT, DTN_MAX_ENDPOINT_ID, str_, and dtn_endpoint_id_t::uri.
Referenced by dtn::APIClient::handle_local_eid(), and dtn::APIClient::handle_recv().
bool dtn::EndpointID::known_scheme | ( | ) | const [inline] |
Return an indication of whether or not the scheme is known.
Definition at line 173 of file EndpointID.h.
References scheme_.
Referenced by dtn::TCAScheme::match(), dtn::EndpointIDPattern::match(), and dtn::DTNScheme::match().
static const EndpointID dtn::EndpointID::NULL_EID | ( | ) | [inline, static] |
Return the special endpoint id used for the null endpoint, namely "dtn:none".
Definition at line 182 of file EndpointID.h.
References EndpointID().
Referenced by dtn::BundleDaemon::accept_custody(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleCommand::exec(), dtn::ContactManager::find_link_to(), dtn::BundleDaemon::generate_custody_signal(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::TableBasedRouter::handle_link_created(), dtn::ProphetRouter::handle_link_created(), dtn::APIClient::handle_send(), dtn::BundleDaemon::release_custody(), and dtn::LinkStateRouter::send_announcement().
static const EndpointID dtn::EndpointID::WILDCARD_EID | ( | ) | [inline, static] |
Return the special wildcard Endpoint ID.
This functionality is not in the bundle spec, but is used internally to this implementation.
Definition at line 189 of file EndpointID.h.
References EndpointID().
void dtn::EndpointID::serialize | ( | oasys::SerializeAction * | a | ) | [virtual] |
Virtual from SerializableObject.
Implements oasys::SerializableObject.
Definition at line 159 of file EndpointID.cc.
References oasys::SerializeAction::action_code(), ASSERT, parse(), oasys::SerializeAction::process(), str_, oasys::Serialize::UNMARSHAL, and valid_.
const std::string& dtn::EndpointID::str | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 199 of file EndpointID.h.
References str_.
Referenced by dtn::TcaRouter::get_forwarding_rule(), dtn::TcaRouter::handle_ask(), dtn::TableBasedRouter::handle_link_created(), dtn::TcaRouter::handle_register(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::log_bundle(), dtn::TCAScheme::match(), dtn::StringScheme::match(), dtn::DTNScheme::match(), dtn::TcaRouter::on_adv_transmitted(), dtn::TcaRouter::on_ask_transmitted(), dtn::TcaRouter::on_coa_transmitted(), and dtn::TcaRouter::push_wrapped_bundle().
const std::string& dtn::EndpointID::scheme_str | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 200 of file EndpointID.h.
References scheme_str_.
Referenced by dtn::BundleProtocol::add_to_dictionary(), dtn::TcaRouter::create_link(), dtn::BundleProtocol::get_dictionary_offsets(), dtn::TcaRouter::get_forwarding_rule(), dtn::TcaRouter::handle_bundle_received(), and dtn::TcaRouter::handle_bundle_transmitted().
const std::string& dtn::EndpointID::ssp | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 201 of file EndpointID.h.
References ssp_.
Referenced by dtn::BundleProtocol::add_to_dictionary(), dtn::TcaRouter::create_link(), dtn::BundleProtocol::get_dictionary_offsets(), dtn::TcaRouter::get_forwarding_rule(), dtn::TcaRouter::handle_bundle_received(), dtn::TCAScheme::match(), and dtn::DTNScheme::match().
Scheme* dtn::EndpointID::scheme | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 202 of file EndpointID.h.
References scheme_.
Referenced by dtn::TCAScheme::match(), dtn::EndpointIDPattern::match(), and dtn::DTNScheme::match().
bool dtn::EndpointID::valid | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 203 of file EndpointID.h.
References valid_.
Referenced by dtn::RouteCommand::exec(), dtn::RegistrationCommand::exec(), dtnsim::NodeCommand::exec(), dtn::FloodBundleRouter::FloodBundleRouter(), and dtn::Bundle::validate().
bool dtn::EndpointID::is_pattern | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 204 of file EndpointID.h.
References is_pattern_.
const char* dtn::EndpointID::c_str | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 205 of file EndpointID.h.
References str_.
Referenced by dtn::RegistrationTable::add(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::RouteTable::del_entries(), dtn::RouteTable::del_entry(), dtnsim::SimRegistration::deliver_bundle(), dtn::APIRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleDaemon::deliver_to_registration(), dtn::RouteEntry::dump(), dtn::Link::dump(), dtnsim::NodeCommand::exec(), dtn::BundleCommand::exec(), dtn::ContactManager::find_link_to(), dtn::RouteEntry::format(), dtn::Link::format(), dtn::Bundle::format(), dtn::Bundle::format_verbose(), dtn::TcaRouter::fwd_to_all(), dtn::TcaRouter::fwd_to_matching_r(), dtn::FragmentManager::get_hash_key(), dtn::RouteTable::get_matching(), dtn::RegistrationTable::get_matching(), dtn::CLConnection::handle_announce_bundle(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::LinkStateRouter::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_received(), dtn::BundleDaemon::handle_custody_signal(), dtn::BundleDaemon::handle_registration_added(), dtn::BundleDaemon::handle_registration_removed(), dtn::BundleDaemon::handle_route_del(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::log_bundle(), dtn::LoggingRegistration::LoggingRegistration(), dtn::TCAScheme::match(), dtn::DTNScheme::match(), dtn::ContactManager::new_opportunistic_link(), dtn::TcaRouter::on_coa_transmitted(), dtn::TcaRouter::post_bundle(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtnsim::TrAgent::send_bundle(), dtn::TcaRouter::TcaRouter(), dtn::TclRegistration::TclRegistration(), dtn::RegistrationTable::update(), and dtn::Bundle::validate().
const char* dtn::EndpointID::data | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 206 of file EndpointID.h.
References str_.
size_t dtn::EndpointID::length | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 207 of file EndpointID.h.
References str_.
Referenced by dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), and dtn::RouteEntry::dump().
bool dtn::EndpointID::parse | ( | ) | [protected] |
Extract and look up the scheme and ssp.
Reimplemented in dtn::TcaEndpointID.
Definition at line 54 of file EndpointID.cc.
References is_pattern_, scheme_, scheme_str_, ssp_, str_, valid_, and dtn::Scheme::validate().
Referenced by assign(), EndpointID(), and serialize().
std::string dtn::EndpointID::str_ [protected] |
Definition at line 218 of file EndpointID.h.
Referenced by append_service_tag(), assign(), c_str(), copyto(), data(), equals(), length(), operator!=(), operator==(), parse(), serialize(), and str().
std::string dtn::EndpointID::scheme_str_ [protected] |
Definition at line 219 of file EndpointID.h.
Referenced by append_service_tag(), assign(), parse(), and scheme_str().
std::string dtn::EndpointID::ssp_ [protected] |
Definition at line 220 of file EndpointID.h.
Referenced by append_service_tag(), assign(), parse(), and ssp().
Scheme* dtn::EndpointID::scheme_ [protected] |
Definition at line 221 of file EndpointID.h.
Referenced by append_service_tag(), assign(), known_scheme(), parse(), and scheme().
bool dtn::EndpointID::valid_ [protected] |
Definition at line 222 of file EndpointID.h.
Referenced by assign(), parse(), serialize(), and valid().
bool dtn::EndpointID::is_pattern_ [protected] |
Definition at line 223 of file EndpointID.h.
Referenced by assign(), dtn::EndpointIDPattern::EndpointIDPattern(), is_pattern(), and parse().