#include <Bundle.h>
Inheritance diagram for dtn::Bundle:
Bundles are reference counted, with references generally correlating one-to-one with each BundleList on which the Bundle resides.
However, although the push() methods of the BundleList always add a reference and a backpointer to the bundle, the pop() methods do not decremente the reference count. This means that the caller must explicitly remove it when done with the bundle.
Note that delref() will delete the Bundle when the reference count reaches zero, so care must be taken to never use the pointer after that point.
The Bundle class maintains a set of back-pointers to each BundleList it is contained on, and list addition/removal methods maintain the invariant that the entiries of this set correlate exactly with the list pointers.
Definition at line 85 of file Bundle.h.
Public Types | |
enum | priority_values_t { COS_BULK = 0, COS_NORMAL = 1, COS_EXPEDITED = 2, COS_RESERVED = 3 } |
Values for the bundle priority field. More... | |
typedef std::set< BundleList * > | BundleMappings |
typedef BundleMappings::const_iterator | MappingsIterator |
Public Member Functions | |
Bundle () | |
Default constructor to create an empty bundle, initializing all fields to defaults and allocating a new bundle id. | |
Bundle (const oasys::Builder &) | |
Constructor when re-reading the database. | |
virtual | ~Bundle () |
Bundle destructor. | |
void | copy_metadata (Bundle *new_bundle) |
Copy the metadata from one bundle to another (used in fragmentation). | |
int | format (char *buf, size_t sz) const |
Virtual from formatter. | |
void | format_verbose (oasys::StringBuffer *buf) |
Virtual from formatter. | |
void | serialize (oasys::SerializeAction *a) |
Virtual from SerializableObject. | |
u_int32_t | durable_key () |
Hook for the generic durable table implementation to know what the key is for the database. | |
int | refcount () |
Return the bundle's reference count, corresponding to the number of entries in the mappings set, i.e. | |
int | add_ref (const char *what1, const char *what2="") |
Bump up the reference count. | |
int | del_ref (const char *what1, const char *what2="") |
Decrement the reference count. | |
int | num_mappings () |
The number of mappings for this bundle. | |
MappingsIterator | mappings_begin () |
Return an iterator to scan through the mappings. | |
MappingsIterator | mappings_end () |
Return an iterator to mark the end of the mappings set. | |
bool | is_queued_on (BundleList *l) |
Return true if the bundle is on the given list. | |
bool | validate (oasys::StringBuffer *errbuf) |
Validate the bundle's fields. | |
bool | receipt_requested () |
True if any return receipt fields are set. | |
Static Public Member Functions | |
static const char * | prioritytoa (u_int8_t priority) |
Pretty printer function for bundle_priority_t. | |
Public Attributes | |
EndpointID | source_ |
Source eid. | |
EndpointID | dest_ |
Destination eid. | |
EndpointID | custodian_ |
Current custodian eid. | |
EndpointID | replyto_ |
Reply-To eid. | |
bool | is_fragment_ |
Fragmentary Bundle. | |
bool | is_admin_ |
Administrative record bundle. | |
bool | do_not_fragment_ |
Bundle shouldn't be fragmented. | |
bool | custody_requested_ |
Custody requested. | |
bool | singleton_dest_ |
Destination endpoint is a singleton. | |
u_int8_t | priority_ |
Bundle priority. | |
bool | receive_rcpt_ |
Hop by hop reception receipt. | |
bool | custody_rcpt_ |
Custody xfer reporting. | |
bool | forward_rcpt_ |
Hop by hop forwarding reporting. | |
bool | delivery_rcpt_ |
End-to-end delivery reporting. | |
bool | deletion_rcpt_ |
Bundle deletion reporting. | |
bool | app_acked_rcpt_ |
Acknowlege by application reporting. | |
BundleTimestamp | creation_ts_ |
Creation timestamp. | |
u_int32_t | expiration_ |
Bundle expiration time. | |
u_int32_t | frag_offset_ |
Offset of fragment in the original bundle. | |
u_int32_t | orig_length_ |
Length of original bundle. | |
BundlePayload | payload_ |
Reference to the payload. | |
u_int32_t | bundleid_ |
Local bundle identifier. | |
oasys::SpinLock | lock_ |
Lock for bundle data that can be updated by multiple threads. | |
bool | in_datastore_ |
Is the bundle in the persistent store. | |
bool | local_custody_ |
Local node has custody. | |
std::string | owner_ |
Declared router that "owns" this bundle, which could be empty. | |
ForwardingLog | fwdlog_ |
Log of bundle forwarding records. | |
ExpirationTimer * | expiration_timer_ |
The expiration timer. | |
CustodyTimerVec | custody_timers_ |
Live custody timers for this bundle. | |
Protected Attributes | |
BundleMappings | mappings_ |
The set of BundleLists that contain the Bundle. | |
int | refcount_ |
Bundle reference count. | |
bool | freed_ |
Bit to indicate whether or not a bundle free event has been posted for us. | |
Private Member Functions | |
void | init (u_int32_t id) |
Initialization helper function. | |
Friends | |
class | BundleList |
typedef std::set<BundleList*> dtn::Bundle::BundleMappings |
typedef BundleMappings::const_iterator dtn::Bundle::MappingsIterator |
dtn::Bundle::Bundle | ( | ) |
Default constructor to create an empty bundle, initializing all fields to defaults and allocating a new bundle id.
Definition at line 85 of file Bundle.cc.
References expiration_timer_, freed_, dtn::BundlePayload::init(), init(), dtn::GlobalStore::instance(), dtn::GlobalStore::next_bundleid(), payload_, and refcount_.
dtn::Bundle::Bundle | ( | const oasys::Builder & | ) |
dtn::Bundle::~Bundle | ( | ) | [virtual] |
void dtn::Bundle::copy_metadata | ( | Bundle * | new_bundle | ) |
Copy the metadata from one bundle to another (used in fragmentation).
Definition at line 210 of file Bundle.cc.
References app_acked_rcpt_, creation_ts_, custodian_, custody_rcpt_, custody_requested_, deletion_rcpt_, delivery_rcpt_, dest_, do_not_fragment_, expiration_, forward_rcpt_, is_admin_, is_fragment_, local_custody_, priority_, receive_rcpt_, replyto_, singleton_dest_, and source_.
Referenced by dtn::FragmentManager::create_fragment(), and dtn::FragmentManager::process_for_reassembly().
int dtn::Bundle::format | ( | char * | buf, | |
size_t | sz | |||
) | const [virtual] |
Virtual from formatter.
Implements oasys::Formatter.
Definition at line 125 of file Bundle.cc.
References bundleid_, dtn::EndpointID::c_str(), dest_, is_admin_, is_fragment_, dtn::BundlePayload::length(), payload_, and source_.
void dtn::Bundle::format_verbose | ( | oasys::StringBuffer * | buf | ) |
Virtual from formatter.
Definition at line 136 of file Bundle.cc.
References app_acked_rcpt_, oasys::StringBuffer::appendf(), bool_to_str, bundleid_, dtn::EndpointID::c_str(), creation_ts_, custodian_, custody_rcpt_, custody_requested_, deletion_rcpt_, delivery_rcpt_, dest_, do_not_fragment_, expiration_, forward_rcpt_, frag_offset_, fwdlog_, dtn::ForwardingLog::get_transmission_count(), is_admin_, is_fragment_, dtn::BundlePayload::length(), local_custody_, orig_length_, payload_, priority_, receive_rcpt_, replyto_, dtn::BundleTimestamp::seconds_, dtn::BundleTimestamp::seqno_, singleton_dest_, and source_.
Referenced by dtn::LoggingRegistration::deliver_bundle(), and dtn::BundleDaemon::handle_bundle_received().
void dtn::Bundle::serialize | ( | oasys::SerializeAction * | a | ) | [virtual] |
Virtual from SerializableObject.
Implements oasys::SerializableObject.
Definition at line 170 of file Bundle.cc.
References oasys::SerializeAction::action_code(), app_acked_rcpt_, bundleid_, creation_ts_, custodian_, custody_rcpt_, custody_requested_, deletion_rcpt_, delivery_rcpt_, dest_, do_not_fragment_, expiration_, forward_rcpt_, frag_offset_, in_datastore_, dtn::BundlePayload::init_from_store(), is_admin_, is_fragment_, local_custody_, orig_length_, owner_, payload_, priority_, oasys::SerializeAction::process(), receive_rcpt_, replyto_, dtn::BundleTimestamp::seconds_, dtn::BundleTimestamp::seqno_, singleton_dest_, source_, and oasys::Serialize::UNMARSHAL.
u_int32_t dtn::Bundle::durable_key | ( | ) | [inline] |
int dtn::Bundle::refcount | ( | ) | [inline] |
Return the bundle's reference count, corresponding to the number of entries in the mappings set, i.e.
the number of BundleLists that have a reference to this bundle, as well as any other scopes that are processing the bundle.
Definition at line 137 of file Bundle.h.
References refcount_.
Referenced by dtn::BundleDaemon::handle_bundle_free().
int dtn::Bundle::add_ref | ( | const char * | what1, | |
const char * | what2 = "" | |||
) |
int dtn::Bundle::del_ref | ( | const char * | what1, | |
const char * | what2 = "" | |||
) |
Decrement the reference count.
Parameters are used for logging.
If the reference count becomes zero, the bundle is deleted.
Definition at line 256 of file Bundle.cc.
References bundleid_, freed_, dtn::BundleDaemon::instance(), ExamineDump::l, lock_, log_debug, mappings_, dtn::BundleDaemon::post(), and refcount_.
Referenced by dtn::BundleList::erase(), and dtn::BundleList::pop_front().
int dtn::Bundle::num_mappings | ( | ) | [inline] |
The number of mappings for this bundle.
Definition at line 164 of file Bundle.h.
References mappings_.
Referenced by dtn::BundleDaemon::try_delete_from_pending().
Bundle::MappingsIterator dtn::Bundle::mappings_begin | ( | ) |
Return an iterator to scan through the mappings.
Definition at line 289 of file Bundle.cc.
References oasys::Lock::is_locked_by_me(), lock_, and mappings_.
Bundle::MappingsIterator dtn::Bundle::mappings_end | ( | ) |
Return an iterator to mark the end of the mappings set.
Definition at line 299 of file Bundle.cc.
References oasys::Lock::is_locked_by_me(), lock_, and mappings_.
bool dtn::Bundle::is_queued_on | ( | BundleList * | l | ) |
Return true if the bundle is on the given list.
Definition at line 309 of file Bundle.cc.
References ExamineDump::l, lock_, and mappings_.
Referenced by dtn::BundleList::contains(), and dtn::BundleDaemon::try_delete_from_pending().
bool dtn::Bundle::validate | ( | oasys::StringBuffer * | errbuf | ) |
Validate the bundle's fields.
Definition at line 317 of file Bundle.cc.
References oasys::StringBuffer::appendf(), dtn::EndpointID::c_str(), custodian_, dest_, replyto_, source_, and dtn::EndpointID::valid().
Referenced by dtn::BundleCommand::exec(), and dtn::APIClient::handle_send().
bool dtn::Bundle::receipt_requested | ( | ) | [inline] |
True if any return receipt fields are set.
Definition at line 189 of file Bundle.h.
References custody_rcpt_, delivery_rcpt_, forward_rcpt_, and receive_rcpt_.
static const char* dtn::Bundle::prioritytoa | ( | u_int8_t | priority | ) | [inline, static] |
Pretty printer function for bundle_priority_t.
Definition at line 208 of file Bundle.h.
References COS_BULK, COS_EXPEDITED, and COS_NORMAL.
void dtn::Bundle::init | ( | u_int32_t | id | ) | [private] |
Initialization helper function.
Definition at line 53 of file Bundle.cc.
References app_acked_rcpt_, bundleid_, COS_NORMAL, creation_ts_, custody_rcpt_, custody_requested_, deletion_rcpt_, delivery_rcpt_, do_not_fragment_, expiration_, forward_rcpt_, frag_offset_, dtn::BundleTimestamp::get_current_time(), in_datastore_, is_admin_, is_fragment_, local_custody_, log_debug, orig_length_, owner_, priority_, receive_rcpt_, dtn::BundleTimestamp::seconds_, dtn::BundleTimestamp::seqno_, and singleton_dest_.
Referenced by Bundle().
friend class BundleList [friend] |
Source eid.
Definition at line 222 of file Bundle.h.
Referenced by copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtnsim::SimRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleCommand::exec(), dtn::BundleDaemon::find_duplicate(), format(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::TcaRouter::get_forwarding_rule(), dtn::FragmentManager::get_hash_key(), dtn::BundleProtocol::get_primary_len(), dtn::CLConnection::handle_announce_bundle(), dtn::TcaRouter::handle_ask(), dtn::TcaRouter::handle_bl_ask(), dtn::BundleDaemon::handle_bundle_received(), dtn::TcaRouter::handle_get_routes(), dtn::APIClient::handle_recv(), dtn::TcaRouter::handle_register(), dtn::APIClient::handle_send(), dtn::TcaRouter::is_local_source(), dtn::log_bundle(), dtn::TcaRouter::on_adv_transmitted(), dtn::TcaRouter::on_ask_transmitted(), dtn::TcaRouter::on_coa_transmitted(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), serialize(), and validate().
Destination eid.
Definition at line 223 of file Bundle.h.
Referenced by dtn::BundleDaemon::check_registrations(), copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtnsim::SimRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleCommand::exec(), format(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::TcaRouter::fwd_to_all(), dtn::TableBasedRouter::fwd_to_matching(), dtn::TcaRouter::fwd_to_matching_r(), dtn::TcaRouter::get_forwarding_rule(), dtn::FragmentManager::get_hash_key(), dtn::BundleProtocol::get_primary_len(), dtn::TcaRouter::handle_anonymous_bundle(), dtn::TcaRouter::handle_ask(), dtn::TcaRouter::handle_bundle_received(), dtn::LinkStateRouter::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_received(), dtn::TcaRouter::handle_bundle_transmitted(), dtn::APIClient::handle_recv(), dtn::TcaRouter::handle_register(), dtn::APIClient::handle_send(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::log_bundle(), dtn::TcaRouter::on_adv_transmitted(), dtn::TcaRouter::on_ask_transmitted(), dtn::TcaRouter::on_coa_transmitted(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), serialize(), and validate().
Current custodian eid.
Definition at line 224 of file Bundle.h.
Referenced by dtn::BundleDaemon::accept_custody(), copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleDaemon::generate_custody_signal(), dtn::BundleProtocol::get_primary_len(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::APIClient::handle_send(), dtn::BundleDaemon::release_custody(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), serialize(), and validate().
Reply-To eid.
Definition at line 225 of file Bundle.h.
Referenced by copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleProtocol::get_primary_len(), dtn::APIClient::handle_recv(), dtn::APIClient::handle_send(), dtn::LinkStateRouter::send_announcement(), dtnsim::TrAgent::send_bundle(), serialize(), and validate().
Fragmentary Bundle.
Definition at line 226 of file Bundle.h.
Referenced by dtn::FragmentManager::check_completed(), dtn::FragmentManager::convert_to_fragment(), copy_metadata(), dtn::CustodySignal::create_custody_signal(), dtn::FragmentManager::create_fragment(), dtn::BundleStatusReport::create_status_report(), dtn::BundleDaemon::deliver_to_registration(), dtn::BundleDaemon::find_duplicate(), format(), dtn::BundleProtocol::format_bundle_flags(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleProtocol::get_primary_len(), init(), dtn::BundleProtocol::parse_bundle_flags(), dtn::BundleProtocol::parse_header_blocks(), dtn::FragmentManager::process_for_reassembly(), and serialize().
Administrative record bundle.
Definition at line 227 of file Bundle.h.
Referenced by copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), format(), dtn::BundleProtocol::format_bundle_flags(), format_verbose(), dtn::BundleProtocol::get_admin_type(), init(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::BundleProtocol::parse_bundle_flags(), and serialize().
Bundle shouldn't be fragmented.
Definition at line 228 of file Bundle.h.
Referenced by copy_metadata(), dtn::FragmentManager::create_fragment(), dtn::BundleProtocol::format_bundle_flags(), format_verbose(), init(), dtn::BundleProtocol::parse_bundle_flags(), and serialize().
Custody requested.
Definition at line 229 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_bundle_flags(), format_verbose(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::BundleDaemon::handle_bundle_received(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_bundle_flags(), and serialize().
Destination endpoint is a singleton.
Definition at line 230 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleProtocol::format_bundle_flags(), format_verbose(), init(), dtn::BundleProtocol::parse_bundle_flags(), and serialize().
u_int8_t dtn::Bundle::priority_ |
Bundle priority.
Definition at line 231 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleProtocol::format_cos_flags(), format_verbose(), init(), dtn::BundleProtocol::parse_cos_flags(), and serialize().
Hop by hop reception receipt.
Definition at line 232 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), dtn::BundleDaemon::handle_bundle_received(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_srr_flags(), receipt_requested(), and serialize().
Custody xfer reporting.
Definition at line 233 of file Bundle.h.
Referenced by dtn::BundleDaemon::accept_custody(), copy_metadata(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_srr_flags(), receipt_requested(), and serialize().
Hop by hop forwarding reporting.
Definition at line 234 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), dtn::BundleDaemon::handle_bundle_transmitted(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_srr_flags(), receipt_requested(), and serialize().
End-to-end delivery reporting.
Definition at line 235 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_srr_flags(), receipt_requested(), and serialize().
Bundle deletion reporting.
Definition at line 236 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleDaemon::delete_from_pending(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_srr_flags(), and serialize().
Acknowlege by application reporting.
Definition at line 237 of file Bundle.h.
Referenced by copy_metadata(), dtn::BundleProtocol::format_srr_flags(), format_verbose(), init(), dtn::BundleProtocol::parse_srr_flags(), and serialize().
Creation timestamp.
Definition at line 238 of file Bundle.h.
Referenced by dtn::BundleDaemon::add_to_pending(), copy_metadata(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::BundleDaemon::find_duplicate(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::FragmentManager::get_hash_key(), dtn::BundleDaemon::handle_bundle_received(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_header_blocks(), and serialize().
u_int32_t dtn::Bundle::expiration_ |
Bundle expiration time.
Definition at line 239 of file Bundle.h.
Referenced by dtn::BundleDaemon::add_to_pending(), dtn::CustodyTimerSpec::calculate_timeout(), copy_metadata(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::BundleStatusReport::create_status_report(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleCommand::exec(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleDaemon::handle_bundle_received(), dtn::APIClient::handle_send(), init(), dtn::BundleProtocol::parse_header_blocks(), and serialize().
u_int32_t dtn::Bundle::frag_offset_ |
Offset of fragment in the original bundle.
Definition at line 240 of file Bundle.h.
Referenced by dtn::FragmentManager::check_completed(), dtn::FragmentManager::convert_to_fragment(), dtn::CustodySignal::create_custody_signal(), dtn::FragmentManager::create_fragment(), dtn::BundleStatusReport::create_status_report(), dtn::BundleDaemon::find_duplicate(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleProtocol::get_primary_len(), init(), dtn::BundleList::insert_sorted(), dtn::BundleProtocol::parse_header_blocks(), dtn::FragmentManager::process_for_reassembly(), and serialize().
u_int32_t dtn::Bundle::orig_length_ |
Length of original bundle.
Definition at line 241 of file Bundle.h.
Referenced by dtn::FragmentManager::check_completed(), dtn::FragmentManager::convert_to_fragment(), dtn::CustodySignal::create_custody_signal(), dtn::FragmentManager::create_fragment(), dtn::BundleStatusReport::create_status_report(), dtn::BundleDaemon::find_duplicate(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleProtocol::get_primary_len(), init(), dtn::BundleProtocol::parse_header_blocks(), dtn::FragmentManager::process_for_reassembly(), and serialize().
Reference to the payload.
Definition at line 242 of file Bundle.h.
Referenced by Bundle(), dtn::BundleReceivedEvent::BundleReceivedEvent(), dtn::FragmentManager::check_completed(), dtn::FragmentManager::convert_to_fragment(), dtn::AnnounceBundle::create_announce_bundle(), dtn::CustodySignal::create_custody_signal(), dtn::FragmentManager::create_fragment(), dtn::BundleStatusReport::create_status_report(), dtnsim::SimRegistration::deliver_bundle(), dtn::LoggingRegistration::deliver_bundle(), dtn::LinkStateRouter::LSRegistration::deliver_bundle(), dtn::AdminRegistration::deliver_bundle(), dtn::BundleCommand::exec(), dtn::BundleDaemon::find_duplicate(), format(), dtn::BundleProtocol::format_bundle(), dtn::BundleProtocol::format_header_blocks(), format_verbose(), dtn::BundleProtocol::formatted_length(), dtn::BundleDaemon::generate_custody_signal(), dtn::BundleDaemon::generate_status_report(), dtn::BundleProtocol::get_admin_type(), dtn::BundleProtocol::get_payload_block_len(), dtn::get_payload_str(), dtn::BluetoothConvergenceLayer::Connection::handle_ack(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::BundleDaemon::handle_bundle_received(), dtn::APIClient::handle_recv(), dtn::APIClient::handle_send(), dtn::AnnounceBundle::parse_announce_bundle(), dtn::BundleProtocol::parse_bundle(), dtn::BundleProtocol::parse_header_blocks(), dtn::FragmentManager::proactively_fragment(), dtn::UDPConvergenceLayer::Receiver::process_data(), dtn::FragmentManager::process_for_reassembly(), dtn::BluetoothConvergenceLayer::Connection::recv_bundle(), dtn::LinkStateRouter::send_announcement(), dtn::UDPConvergenceLayer::Sender::send_bundle(), dtnsim::TrAgent::send_bundle(), dtnsim::SimConvergenceLayer::send_bundle(), dtn::FileConvergenceLayer::send_bundle(), dtn::BluetoothConvergenceLayer::Connection::send_bundle(), dtn::StreamConvergenceLayer::Connection::send_next_segment(), serialize(), and dtn::FragmentManager::try_to_reactively_fragment().
u_int32_t dtn::Bundle::bundleid_ |
Local bundle identifier.
Definition at line 248 of file Bundle.h.
Referenced by dtn::BundleList::add_bundle(), add_ref(), dtn::BundleDaemon::add_to_pending(), Bundle(), dtn::BundleList::del_bundle(), del_ref(), dtn::BundleDaemon::delete_from_pending(), dtnsim::SimRegistration::deliver_bundle(), dtn::APIRegistration::deliver_bundle(), durable_key(), dtn::BundleCommand::exec(), dtnsim::GlueNode::execute_router_action(), format(), format_verbose(), dtn::TableBasedRouter::fwd_to_matching(), dtn::BundleProtocol::get_primary_len(), dtn::BluetoothConvergenceLayer::Connection::handle_ack(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::LinkStateRouter::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_transmit_failed(), dtn::BundleDaemon::handle_bundle_transmitted(), dtn::APIClient::handle_recv(), init(), dtn::UDPConvergenceLayer::Receiver::process_data(), dtn::FragmentManager::process_for_reassembly(), dtnsim::TrAgent::send_bundle(), dtn::FileConvergenceLayer::send_bundle(), serialize(), dtn::TableBasedRouter::should_fwd(), dtn::BundleActions::store_add(), dtn::BundleActions::store_del(), dtn::BundleActions::store_update(), and ~Bundle().
Lock for bundle data that can be updated by multiple threads.
Definition at line 249 of file Bundle.h.
Referenced by dtn::BundleList::add_bundle(), add_ref(), dtn::BundleDaemon::cancel_custody_timers(), dtn::BundleList::del_bundle(), del_ref(), dtn::BundleList::erase(), dtn::BundleDaemon::handle_bundle_free(), dtn::BundleDaemon::handle_custody_timeout(), dtn::BundleList::insert_random(), dtn::BundleList::insert_sorted(), is_queued_on(), mappings_begin(), mappings_end(), dtn::BundleList::push_back(), and dtn::BundleList::push_front().
Is the bundle in the persistent store.
Definition at line 251 of file Bundle.h.
Referenced by dtn::BundleDaemon::add_to_pending(), dtn::BundleDaemon::handle_bundle_free(), init(), and serialize().
Local node has custody.
Definition at line 252 of file Bundle.h.
Referenced by dtn::BundleDaemon::accept_custody(), copy_metadata(), format_verbose(), dtn::BundleDaemon::generate_custody_signal(), dtn::BundleDaemon::handle_bundle_delivered(), dtn::BundleDaemon::handle_bundle_expired(), dtn::BundleDaemon::handle_bundle_received(), dtn::BundleDaemon::handle_bundle_transmitted(), init(), dtn::BundleDaemon::release_custody(), and serialize().
std::string dtn::Bundle::owner_ |
Declared router that "owns" this bundle, which could be empty.
Definition at line 253 of file Bundle.h.
Referenced by dtn::BundleDaemon::deliver_to_registration(), dtn::TcaRouter::fwd_to_matching_r(), dtn::LinkStateRouter::handle_bundle_received(), init(), and serialize().
Log of bundle forwarding records.
Definition at line 255 of file Bundle.h.
Referenced by dtn::BundleActions::cancel_bundle(), format_verbose(), dtn::BundleDaemon::handle_bundle_transmit_failed(), dtn::BundleDaemon::handle_bundle_transmitted(), dtn::BundleDaemon::handle_custody_timeout(), dtn::BundleActions::send_bundle(), dtn::TableBasedRouter::should_fwd(), and dtn::BundleDaemon::try_delete_from_pending().
The expiration timer.
Definition at line 256 of file Bundle.h.
Referenced by dtn::BundleDaemon::add_to_pending(), Bundle(), dtn::BundleDaemon::delete_from_pending(), dtn::BundleDaemon::handle_bundle_expired(), dtn::BundleDaemon::try_delete_from_pending(), and ~Bundle().
Live custody timers for this bundle.
Definition at line 257 of file Bundle.h.
Referenced by dtn::BundleDaemon::cancel_custody_timers(), dtn::BundleDaemon::handle_bundle_transmitted(), and dtn::BundleDaemon::handle_custody_timeout().
BundleMappings dtn::Bundle::mappings_ [protected] |
The set of BundleLists that contain the Bundle.
Definition at line 265 of file Bundle.h.
Referenced by dtn::BundleList::add_bundle(), add_ref(), dtn::BundleList::del_bundle(), del_ref(), is_queued_on(), mappings_begin(), mappings_end(), num_mappings(), and ~Bundle().
int dtn::Bundle::refcount_ [protected] |
bool dtn::Bundle::freed_ [protected] |