#include <EndpointID.h>

Definition at line 32 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 char *str, size_t len) |
| 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 |
| const std::string & | scheme_str () const |
| const std::string & | ssp () const |
| Scheme * | scheme () const |
| bool | valid () const |
| bool | is_pattern () const |
| const char * | c_str () const |
| const char * | data () const |
| size_t | length () const |
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 37 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 48 of file EndpointID.h.
References parse().
| dtn::EndpointID::EndpointID | ( | const EndpointID & | other | ) | [inline] |
Construct the endpoint id from another.
Definition at line 57 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 72 of file EndpointID.h.
References is_pattern_, scheme_, scheme_str_, ssp_, str_, and valid_.
Referenced by dtn::BundleDaemon::accept_custody(), dtn::BundleDaemon::BundleDaemon(), dtn::PreviousHopBlockProcessor::consume(), dtn::AnnounceBundle::create_announce_bundle(), dtn::ProphetTLV::create_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::ProphetTLV::deserialize(), dtn::HelloTLV::deserialize(), dtn::Prophet::eid_to_route(), dtn::Prophet::eid_to_routeid(), EndpointID(), dtn::EndpointIDPattern::EndpointIDPattern(), dtnsim::NodeCommand::exec(), dtn::BundleCommand::exec(), dtn::PrimaryBlockProcessor::extract_dictionary_eid(), dtn::BundleDaemon::handle_bundle_inject(), dtn::StreamConvergenceLayer::Connection::handle_contact_initiation(), dtn::APIClient::handle_find_registration(), dtn::APIClient::handle_register(), dtn::ProphetNode::operator=(), dtn::IPDiscovery::parse_advertisement(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::CustodySignal::parse_custody_signal(), dtn::BundleStatusReport::parse_status_report(), dtn::ProphetController::ProphetController(), dtn::RIBDTLV::read_ras_entry(), dtn::BundleDaemon::release_custody(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), dtn::ProphetNode::set_eid(), 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 87 of file EndpointID.h.
| bool dtn::EndpointID::assign | ( | const char * | str, | |
| size_t | len | |||
| ) | [inline] |
Set the string and parse it.
Definition at line 97 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 107 of file EndpointID.h.
| bool dtn::EndpointID::equals | ( | const EndpointID & | other | ) | const [inline] |
Simple equality test function.
Definition at line 116 of file EndpointID.h.
References str_.
Referenced by dtn::BundleDaemon::accept_custody(), dtn::ProphetDictionary::assign(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::RouteTable::del_entries(), dtn::RouteTable::del_entry(), dtn::ProphetDictionary::find(), dtn::ProphetTable::find(), dtn::BundleDaemon::find_duplicate(), dtn::BundleDaemon::generate_custody_signal(), dtn::RegistrationTable::get(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::ProphetController::handle_bundle_received(), dtn::ProphetEncounter::handle_bundle_tlv(), dtn::ProphetRouter::handle_link_created(), dtn::ProphetEncounter::handle_rib_tlv(), dtn::ProphetDictionary::insert(), dtn::ProphetDictionary::is_assigned(), dtn::ProphetController::new_neighbor(), dtn::ProphetAck::operator<(), dtn::ProphetAck::ProphetAck(), dtn::ProphetDictionary::ProphetDictionary(), dtn::ProphetEncounter::ProphetEncounter(), dtn::RIBDTLV::read_ras_entry(), dtn::IPDiscovery::run(), and dtn::RIBDTLV::write_ras_entry().
| bool dtn::EndpointID::operator== | ( | const EndpointID & | other | ) | const [inline] |
Operator overload for equality syntactic sugar.
Definition at line 124 of file EndpointID.h.
References str_.
| bool dtn::EndpointID::operator!= | ( | const EndpointID & | other | ) | const [inline] |
Operator overload for inequality syntactic sugar.
Definition at line 132 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 116 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 95 of file EndpointID.cc.
References dtn::Scheme::append_service_tag(), scheme_, scheme_str_, ssp_, and str_.
Referenced by dtn::ProphetTLV::create_bundle(), dtn::APIClient::handle_local_eid(), dtn::BundleDaemon::load_registrations(), and dtn::ProphetController::ProphetController().
| 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 127 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 162 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 171 of file EndpointID.h.
References EndpointID().
Referenced by dtn::BundleDaemon::accept_custody(), dtn::ProphetDictionary::assign(), dtn::AnnounceBundle::create_announce_bundle(), dtn::ProphetTLV::create_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::PingRegistration::deliver_bundle(), dtn::BundleCommand::exec(), dtn::ProphetDictionary::find(), dtn::ProphetTable::find(), dtn::ContactManager::find_link_to(), dtn::BundleDaemon::generate_custody_signal(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::BundleDaemon::handle_bundle_inject(), dtn::ProphetEncounter::handle_bundle_tlv(), dtn::ProphetRouter::handle_link_created(), dtn::ProphetEncounter::handle_rib_tlv(), dtn::APIClient::handle_send(), dtn::ProphetDictionary::insert(), dtn::ProphetDictionary::is_assigned(), dtn::ProphetController::new_neighbor(), dtn::ProphetAck::ProphetAck(), dtn::ProphetDictionary::ProphetDictionary(), dtn::ProphetEncounter::ProphetEncounter(), dtn::RIBDTLV::read_ras_entry(), dtn::BundleDaemon::release_custody(), dtn::LinkStateRouter::send_announcement(), dtn::ProphetTable::update(), and dtn::RIBDTLV::write_ras_entry().
| 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 178 of file EndpointID.h.
References EndpointID().
| void dtn::EndpointID::serialize | ( | oasys::SerializeAction * | a | ) | [virtual] |
Virtual from SerializableObject.
Implements oasys::SerializableObject.
Definition at line 138 of file EndpointID.cc.
References oasys::SerializeAction::action_code(), parse(), oasys::SerializeAction::process(), str_, and oasys::Serialize::UNMARSHAL.
| const std::string& dtn::EndpointID::str | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 188 of file EndpointID.h.
References str_.
Referenced by dtn::ProphetDictionary::assign(), dtn::Prophet::eid_to_route(), dtn::Prophet::eid_to_routeid(), 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(), dtn::less_eid_::operator()(), dtn::ProphetAck::operator<(), dtn::TcaRouter::push_wrapped_bundle(), dtn::CustodySignalEvent::serialize(), and dtn::RouteDelEvent::serialize().
| const std::string& dtn::EndpointID::scheme_str | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 189 of file EndpointID.h.
References scheme_str_.
Referenced by dtn::PrimaryBlockProcessor::add_to_dictionary(), dtn::TcaRouter::create_link(), dtn::Prophet::eid_to_routeid(), dtn::PrimaryBlockProcessor::extract_dictionary_eid(), dtn::PrimaryBlockProcessor::get_dictionary_offsets(), dtn::TcaRouter::get_forwarding_rule(), dtn::TcaRouter::handle_bundle_received(), dtn::TcaRouter::handle_bundle_transmitted(), and dtn::TableBasedRouter::handle_link_created().
| const std::string& dtn::EndpointID::ssp | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 190 of file EndpointID.h.
References ssp_.
Referenced by dtn::PrimaryBlockProcessor::add_to_dictionary(), dtn::TcaRouter::create_link(), dtn::PrimaryBlockProcessor::extract_dictionary_eid(), dtn::PrimaryBlockProcessor::get_dictionary_offsets(), dtn::TcaRouter::get_forwarding_rule(), dtn::TcaRouter::handle_bundle_received(), dtn::TableBasedRouter::handle_link_created(), dtn::TCAScheme::match(), and dtn::DTNScheme::match().
| Scheme* dtn::EndpointID::scheme | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 191 of file EndpointID.h.
References scheme_.
Referenced by dtn::WildcardScheme::match(), dtn::TCAScheme::match(), dtn::StringScheme::match(), dtn::EndpointIDPattern::match(), and dtn::DTNScheme::match().
| bool dtn::EndpointID::valid | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 192 of file EndpointID.h.
References valid_.
Referenced by dtn::RouteCommand::exec(), dtn::RegistrationCommand::exec(), dtnsim::NodeCommand::exec(), dtn::PrimaryBlockProcessor::extract_dictionary_eid(), dtn::FloodBundleRouter::FloodBundleRouter(), dtn::APIClient::handle_find_registration(), dtn::APIClient::handle_register(), and dtn::Bundle::validate().
| bool dtn::EndpointID::is_pattern | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 193 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 194 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::PingRegistration::deliver_bundle(), dtn::APIRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleDaemon::deliver_to_registration(), dtn::RouteEntry::dump(), dtn::RegistrationTable::dump(), dtn::HelloTLV::dump(), dtn::ProphetNode::dump(), dtn::Link::dump(), dtn::ProphetEncounter::dump_state(), dtn::ProphetController::dump_state(), dtnsim::NodeCommand::exec(), dtn::BundleCommand::exec(), dtn::PrimaryBlockProcessor::extract_dictionary_eid(), dtn::ProphetController::find_instance(), dtn::ContactManager::find_link_to(), dtn::RouteEntry::format(), dtn::Link::format(), dtn::Bundle::format(), dtn::IPAnnounce::format_advertisement(), 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::LinkStateRouter::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_received(), dtn::StreamConvergenceLayer::Connection::handle_contact_initiation(), dtn::BundleDaemon::handle_custody_signal(), dtn::BundleDaemon::handle_registration_added(), dtn::BundleDaemon::handle_registration_removed(), dtn::ProphetEncounter::handle_ribd_tlv(), 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::BluetoothDiscovery::run(), dtnsim::TrAgent::send_bundle(), dtn::HelloTLV::serialize(), dtn::TcaRouter::TcaRouter(), dtn::TclRegistration::TclRegistration(), dtn::RegistrationTable::update(), dtn::Bundle::validate(), and dtn::RIBDTLV::write_ras_entry().
| const char* dtn::EndpointID::data | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 195 of file EndpointID.h.
References str_.
Referenced by dtn::StreamConvergenceLayer::Connection::initiate_contact(), and dtn::TclRegistration::parse_bundle_data().
| size_t dtn::EndpointID::length | ( | ) | const [inline] |
Accessors and wrappers around the various fields.
Definition at line 196 of file EndpointID.h.
References str_.
Referenced by dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::RouteEntry::dump(), dtn::IPAnnounce::format_advertisement(), dtn::HelloTLV::HelloTLV(), dtn::StreamConvergenceLayer::Connection::initiate_contact(), dtn::TclRegistration::parse_bundle_data(), dtn::TcaRouter::post_bundle(), dtn::HelloTLV::serialize(), and dtn::RIBDTLV::write_ras_entry().
| bool dtn::EndpointID::parse | ( | ) | [protected] |
Extract and look up the scheme and ssp.
Reimplemented in dtn::TcaEndpointID.
Definition at line 33 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 207 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 208 of file EndpointID.h.
Referenced by append_service_tag(), assign(), parse(), and scheme_str().
std::string dtn::EndpointID::ssp_ [protected] |
Definition at line 209 of file EndpointID.h.
Referenced by append_service_tag(), assign(), parse(), and ssp().
Scheme* dtn::EndpointID::scheme_ [protected] |
Definition at line 210 of file EndpointID.h.
Referenced by append_service_tag(), assign(), known_scheme(), parse(), and scheme().
bool dtn::EndpointID::valid_ [protected] |
bool dtn::EndpointID::is_pattern_ [protected] |
Definition at line 212 of file EndpointID.h.
Referenced by assign(), dtn::EndpointIDPattern::EndpointIDPattern(), is_pattern(), and parse().
1.5.3