Classes | |
| struct | APIBundle |
| Small encapsulating structure for API bundles. More... | |
| class | APIEndpointIDOpt |
| Extension class to the oasys Opt hierarchy that validates that the option is a DTN endpoint identifier (i.e. More... | |
| class | APIServer |
| Class that implements the main server side handling of the DTN application IPC. More... | |
| class | APIClient |
| Class that implements the API session. More... | |
| class | DTND |
| Thin class that implements the daemon itself. More... | |
| class | AnnounceBundle |
| Beacon sent by Neighbor Discovery element within Convergence Layer to announce to other DTN nodes. More... | |
| class | Bundle |
| The internal representation of a bundle. More... | |
| class | BundleActions |
| Intermediary class that provides the interface that is exposed to routers for the rest of the system. More... | |
| class | BundleDaemon |
| Class that handles the basic event / action mechanism. More... | |
| class | BundleEvent |
| Event base class. More... | |
| class | BundleReceivedEvent |
| Event class for new bundle arrivals. More... | |
| class | BundleTransmittedEvent |
| Event class for bundle or fragment transmission. More... | |
| class | BundleTransmitFailedEvent |
| Event class for a failed transmission, which can occur if a link closes after a router has issued a transmission request but before the bundle is successfully sent. More... | |
| class | BundleDeliveredEvent |
| Event class for local bundle delivery. More... | |
| class | BundleExpiredEvent |
| Event class for bundle expiration. More... | |
| class | BundleFreeEvent |
| Event class for bundles that have no more references to them. More... | |
| class | ContactEvent |
| Abstract class for the subset of events related to contacts and links that defines a reason code enumerated type. More... | |
| class | ContactUpEvent |
| Event class for contact up events. More... | |
| class | ContactDownEvent |
| Event class for contact down events. More... | |
| class | LinkCreatedEvent |
| Event class for link creation events. More... | |
| class | LinkDeletedEvent |
| Event class for link deletion events. More... | |
| class | LinkAvailableEvent |
| Event class for link available events. More... | |
| class | LinkUnavailableEvent |
| Event class for link unavailable events. More... | |
| class | LinkStateChangeRequest |
| Request class for link state change requests that are sent to the daemon thread for processing. More... | |
| class | RegistrationAddedEvent |
| Event class for new registration arrivals. More... | |
| class | RegistrationRemovedEvent |
| Event class for registration removals. More... | |
| class | RegistrationExpiredEvent |
| Event class for registration expiration. More... | |
| class | RouteAddEvent |
| Event class for route add events. More... | |
| class | RouteDelEvent |
| Event class for route delete events. More... | |
| class | ReassemblyCompletedEvent |
| Event class for reassembly completion. More... | |
| class | CustodySignalEvent |
| Event class for custody transfer signal arrivals. More... | |
| class | CustodyTimeoutEvent |
| Event class for custody transfer timeout events. More... | |
| class | ShutdownRequest |
| Event class for shutting down a daemon. More... | |
| class | StatusRequest |
| Event class for checking that the daemon is still running. More... | |
| class | BundleEventHandler |
| Both the BundleDaemon and all the BundleRouter classes need to process the various types of BundleEvent that are generated by the rest of the system. More... | |
| class | BundleList |
| List structure for handling bundles. More... | |
| class | BlockingBundleList |
| A simple derivative to the BundleList class that hooks in an oasys Notifier, which thereby allows inter-thread signalling via a pop_blocking() method. More... | |
| class | BundlePayload |
| The representation of a bundle payload. More... | |
| struct | DictionaryEntry |
| class | DictionaryVector |
| class | BundleProtocol |
| Class used to convert a Bundle to / from the bundle protocol specification for the "on-the-wire" representation. More... | |
| class | BundleStatusReport |
| Utility class to create and parse status reports. More... | |
| struct | BundleTimestamp |
| Simple struct definition for bundle creation timestamps. More... | |
| class | CustodySignal |
| Utility class to format and parse custody signal bundles. More... | |
| class | CustodyTimerSpec |
| Utility class to abstract out various parameters that can be used to calculate custody retransmission timers. More... | |
| class | CustodyTimer |
| A custody transfer timer. More... | |
| class | CustodyTimerVec |
| Class for a vector of custody timers. More... | |
| class | ExpirationTimer |
| Bundle expiration timer class. More... | |
| class | ForwardingInfo |
| Class to encapsulate bundle forwarding information. More... | |
| class | ForwardingLog |
| Class to maintain a log of informational records as to where and when a bundle has been forwarded. More... | |
| class | FragmentManager |
| The Fragment Manager maintains state for all of the fragmentary bundles, reconstructing whole bundles from partial bundles. More... | |
| class | SDNV |
| Class to handle parsing and formatting of self describing numeric values (SDNVs). More... | |
| class | TempBundle |
| Class to represent a temporary bundle -- i.e. More... | |
| class | APICommand |
| API options command. More... | |
| class | BundleCommand |
| Debug command for hand manipulation of bundles. More... | |
| class | CompletionNotifier |
| Simple singleton class used by DTN commands when they need to call BundleDaemon::post_and_wait(). More... | |
| class | InterfaceCommand |
| CommandModule for the "interface" command. More... | |
| class | LinkCommand |
| The "link" command. More... | |
| class | ParamCommand |
| Parameter setting command. More... | |
| class | RegistrationCommand |
| The "registration" command. More... | |
| class | RouteCommand |
| The "route" command. More... | |
| class | ShutdownCommand |
| CommandModule for the "shutdown" command. More... | |
| class | StorageCommand |
| Class to control the storage system. More... | |
| class | TestCommand |
| CommandModule for the "test" command. More... | |
| class | AlwaysOnLink |
| Abstraction for an always on link. More... | |
| class | Contact |
| Encapsulation of an active connection to a next-hop DTN contact. More... | |
| class | ContactManager |
| A contact manager class. More... | |
| class | Interface |
| Abstraction of a local dtn interface. More... | |
| class | InterfaceTable |
| Class for the in-memory interface table. More... | |
| class | LinkSet |
| Set of links. More... | |
| class | Link |
| Abstraction for a DTN link, i.e. More... | |
| class | OndemandLink |
| Abstraction for a ONDEMAND link. More... | |
| class | OpportunisticLink |
| Abstraction for a OPPORTUNISTIC link. More... | |
| class | ScheduledLink |
| class | FutureContact |
| Abstract base class for FutureContact Relevant only for scheduled links. More... | |
| class | BluetoothConvergenceLayer |
| class | CLConnection |
| Helper class (and thread) that manages an established connection with a peer daemon. More... | |
| class | ConnectionConvergenceLayer |
| All convergence layers that maintain a connection (i.e. More... | |
| class | ConvergenceLayer |
| The abstract interface for a convergence layer. More... | |
| class | CLInfo |
| Abstract base class for convergence layer specific state stored in an interface / contact / link. More... | |
| class | FileConvergenceLayer |
| class | IPConvergenceLayer |
| Base class for shared functionality between the TCP and UDP convergence layers (currently none). More... | |
| class | IPConvergenceLayerUtils |
| Utility class for shared functionality between ip-based convergence layers. More... | |
| class | NullConvergenceLayer |
| The null convergence layer consumes all bundles immediately and does no actual transmission, roughly similar to /dev/null. More... | |
| class | StreamConvergenceLayer |
| Another shared-implementation convergence layer class for use with reliable, in-order delivery protocols (i.e. More... | |
| class | TCPConvergenceLayer |
| The TCP Convergence Layer. More... | |
| class | UDPConvergenceLayer |
| class | DTNServer |
| class | DTNScheme |
| This class implements the one default scheme as specified in the bundle protocol. More... | |
| class | EndpointID |
| class | EndpointIDPattern |
| A Distinct class for endpoint patterns (i.e. More... | |
| class | EndpointIDVector |
| A (serializable) vector of endpoint ids. More... | |
| class | EndpointIDOpt |
| Extension class to the oasys Opt hierarchy that validates that the option is a DTN endpoint identifier. More... | |
| class | Scheme |
| The base class for various endpoint id schemes. More... | |
| class | SchemeTable |
| The table of registered endpoint id schemes. More... | |
| class | StringScheme |
| class | TCAScheme |
| This class implements the tca scheme. More... | |
| class | WildcardScheme |
| class | AdminRegistration |
| Internal registration that recieves all administrative bundles destined for the router itself (i.e. More... | |
| class | APIRegistration |
| Registration class to represent an actual attached application over the client api. More... | |
| class | APIRegistrationList |
| Typedef for a list of APIRegistrations. More... | |
| class | LoggingRegistration |
| A simple utility class used mostly for testing registrations. More... | |
| class | Registration |
| Class used to represent an "application" registration, loosely defined to also include internal router mechanisms that consume bundles. More... | |
| class | RegistrationList |
| Typedef for a list of Registrations. More... | |
| class | RegistrationTable |
| Class for the in-memory registration table. More... | |
| class | TclRegistration |
| A simple utility class used mostly for testing registrations. More... | |
| class | BundleRouter |
| The BundleRouter is the main decision maker for all routing decisions related to bundles. More... | |
| class | FloodBundleRouter |
| This is the implementation of a flooding based bundle router. More... | |
| class | LinkScheduleEstimator |
| Given a log on the form (start1, duration1), . More... | |
| class | LinkStateGraph |
| Encapsulates link state graphs and the operations upon them. More... | |
| class | LinkStateRouter |
| class | NeighborhoodRouter |
| class | Prophet |
| class | ProphetNode |
| ProphetNode stores state for a remote node as identified by remote_eid. More... | |
| class | ProphetTable |
| From p. More... | |
| class | ProphetRouter |
| struct | RoutePriorityGT |
| Functor class to sort a vector by priority. More... | |
| class | RouteEntry |
| Class to represent route table entry. More... | |
| class | RouteEntryVec |
| Class for a vector of route entries. More... | |
| class | RouteEntryInfo |
| Interface for any per-entry routing algorithm state. More... | |
| class | RouteTable |
| Class that implements the routing table, implemented with an stl vector. More... | |
| class | StaticBundleRouter |
| This is the implementation of the basic bundle routing algorithm that only does static routing. More... | |
| class | TableBasedRouter |
| This is an abstract class that is intended to be used for all routing algorithms that store routing state in a table. More... | |
| class | TcaEndpointID |
| class | TcaRouter |
| This is the implementation of the TCA bundle routing algorithm. More... | |
| class | BundleStore |
| The class for bundle storage is simply an instantiation of the generic oasys durable table interface. More... | |
| class | Globals |
| class | GlobalStore |
| Class for those elements of the router that need to be persistently stored but are singleton global values. More... | |
| class | LinkStore |
| The class for link storage. More... | |
| class | MysqlSQLImplementation |
| Mysql based implementation of SQL database. More... | |
| class | PersistentStore |
| The abstract base class implementing a persistent storage system. More... | |
| class | PostgresSQLImplementation |
| Postgres based implementation of SQL database. More... | |
| class | RegistrationStore |
| The class for registration storage is simply an instantiation of the generic oasys durable table interface. More... | |
| class | SQLBundleStore |
| Implementation of a BundleStore that uses an underlying SQL database. More... | |
| class | SQLGlobalStore |
| Implementation of GlobalStore that uses an underlying SQL database. More... | |
| class | SQLRegistrationStore |
| Implementation of RegistrationStore that uses an underlying SQL database. More... | |
| class | SQLStore |
| Implementation of a StorageManager with an underlying SQL database. More... | |
Typedefs | |
| typedef oasys::MsgQueue< APIBundle * > | APIBundleQueue |
| Type definition of an oasys blocking message queue that stores APIBundle structures. | |
| typedef oasys::Ref< Bundle > | BundleRef |
| Class definition for a Bundle reference. | |
| typedef oasys::Ref< Contact > | ContactRef |
| Typedef for a reference on a contact. | |
| typedef std::list< Interface * > | InterfaceList |
| The list of interfaces. | |
| typedef std::vector< BundleRouter * > | BundleRouterList |
| Typedef for a list of bundle routers. | |
| typedef oasys::InternalKeyDurableTable< oasys::UIntShim, u_int32_t, Bundle > | BundleStoreImpl |
| Convenience typedef for the oasys template parent class. | |
| typedef oasys::InternalKeyDurableTable< oasys::StringShim, std::string, Link > | LinkStoreImpl |
| Convenience typedef for the oasys adaptor that implements the link durable store. | |
| typedef oasys::InternalKeyDurableTable< oasys::UIntShim, u_int32_t, APIRegistration > | RegistrationStoreImpl |
| Convenience typedef for the oasys template parent class. | |
Enumerations | |
| enum | event_type_t { BUNDLE_RECEIVED = 0x1, BUNDLE_TRANSMITTED, BUNDLE_TRANSMIT_FAILED, BUNDLE_DELIVERED, BUNDLE_EXPIRED, BUNDLE_FREE, BUNDLE_FORWARD_TIMEOUT, CONTACT_UP, CONTACT_DOWN, LINK_CREATED, LINK_DELETED, LINK_AVAILABLE, LINK_UNAVAILABLE, LINK_STATE_CHANGE_REQUEST, REASSEMBLY_COMPLETED, REGISTRATION_ADDED, REGISTRATION_REMOVED, REGISTRATION_EXPIRED, ROUTE_ADD, ROUTE_DEL, CUSTODY_SIGNAL, CUSTODY_TIMEOUT, DAEMON_SHUTDOWN, DAEMON_STATUS } |
| Type codes for events / requests. More... | |
| enum | event_source_t { EVENTSRC_PEER = 1, EVENTSRC_APP = 2, EVENTSRC_STORE = 3, EVENTSRC_ADMIN = 4, EVENTSRC_FRAGMENTATION = 5 } |
| Possible sources for events. More... | |
Functions | |
| const char * | event_to_str (event_type_t event) |
| Conversion function from an event to a string. | |
| static std::string | get_payload_str (const Bundle *b) |
| static bool | check_nargs (const TcaControlBundle &cb, uint n_expected) |
| static void | log_bundle (const std::string &comment, const Bundle *b, bool include_payload) |
| static void | log_controlbundle (const TcaControlBundle &cb) |
Variables | |
| unsigned int ** | dist |
| static const std::string | BL = "tca://localhost/bundlelayer" |
| static const char * | GLOBAL_TABLE = "globals" |
| static const char * | GLOBAL_KEY = "global_key" |
| typedef oasys::MsgQueue<APIBundle*> dtn::APIBundleQueue |
Type definition of an oasys blocking message queue that stores APIBundle structures.
Definition at line 59 of file APIBundleQueue.h.
| typedef oasys::Ref<Bundle> dtn::BundleRef |
| typedef std::vector<BundleRouter*> dtn::BundleRouterList |
| typedef oasys::InternalKeyDurableTable< oasys::UIntShim, u_int32_t, Bundle> dtn::BundleStoreImpl |
Convenience typedef for the oasys template parent class.
Definition at line 47 of file BundleStore.h.
| typedef oasys::Ref<Contact> dtn::ContactRef |
| typedef std::list<Interface*> dtn::InterfaceList |
| typedef oasys::InternalKeyDurableTable< oasys::StringShim, std::string, Link> dtn::LinkStoreImpl |
Convenience typedef for the oasys adaptor that implements the link durable store.
Definition at line 47 of file LinkStore.h.
| typedef oasys::InternalKeyDurableTable< oasys::UIntShim, u_int32_t, APIRegistration> dtn::RegistrationStoreImpl |
Convenience typedef for the oasys template parent class.
Definition at line 53 of file RegistrationStore.h.
| enum dtn::event_source_t |
Possible sources for events.
| EVENTSRC_PEER | a peer router |
| EVENTSRC_APP | a local application |
| EVENTSRC_STORE | the data store |
| EVENTSRC_ADMIN | the admin logic |
| EVENTSRC_FRAGMENTATION | the fragmentation engine |
Definition at line 148 of file BundleEvent.h.
| enum dtn::event_type_t |
Type codes for events / requests.
| BUNDLE_RECEIVED | New bundle arrival. |
| BUNDLE_TRANSMITTED | Bundle or fragment successfully sent. |
| BUNDLE_TRANSMIT_FAILED | Bundle or fragment successfully sent. |
| BUNDLE_DELIVERED | Bundle locally delivered. |
| BUNDLE_EXPIRED | Bundle expired. |
| BUNDLE_FREE | No more references to the bundle. |
| BUNDLE_FORWARD_TIMEOUT | A Mapping timed out. |
| CONTACT_UP | Contact is up. |
| CONTACT_DOWN | Contact abnormally terminated. |
| LINK_CREATED | Link is created into the system. |
| LINK_DELETED | Link is deleted from the system. |
| LINK_AVAILABLE | Link is available. |
| LINK_UNAVAILABLE | Link is unavailable. |
| LINK_STATE_CHANGE_REQUEST | Link state should be changed. |
| REASSEMBLY_COMPLETED | Reassembly completed. |
| REGISTRATION_ADDED | New registration arrived. |
| REGISTRATION_REMOVED | Registration removed. |
| REGISTRATION_EXPIRED | Registration expired. |
| ROUTE_ADD | Add a new entry to the route table. |
| ROUTE_DEL | Remove an entry from the route table. |
| CUSTODY_SIGNAL | Custody transfer signal received. |
| CUSTODY_TIMEOUT | Custody transfer timer fired. |
| DAEMON_SHUTDOWN | Shut the daemon down cleanly. |
| DAEMON_STATUS | No-op event to check the daemon. |
Definition at line 64 of file BundleEvent.h.
| static bool dtn::check_nargs | ( | const TcaControlBundle & | cb, | |
| uint | n_expected | |||
| ) | [static] |
Definition at line 77 of file TcaRouter.cc.
References TcaControlBundle::args_, log_err, and TcaControlBundle::str().
Referenced by dtn::TcaRouter::handle_add_route(), dtn::TcaRouter::handle_ask(), dtn::TcaRouter::handle_del_route(), dtn::TcaRouter::handle_get_routes(), dtn::TcaRouter::on_adv_transmitted(), and dtn::TcaRouter::on_ask_transmitted().
| const char* dtn::event_to_str | ( | event_type_t | event | ) | [inline] |
Conversion function from an event to a string.
Definition at line 104 of file BundleEvent.h.
References BUNDLE_DELIVERED, BUNDLE_EXPIRED, BUNDLE_FORWARD_TIMEOUT, BUNDLE_FREE, BUNDLE_RECEIVED, BUNDLE_TRANSMIT_FAILED, BUNDLE_TRANSMITTED, CONTACT_DOWN, CONTACT_UP, CUSTODY_SIGNAL, CUSTODY_TIMEOUT, DAEMON_SHUTDOWN, DAEMON_STATUS, LINK_AVAILABLE, LINK_CREATED, LINK_DELETED, LINK_STATE_CHANGE_REQUEST, LINK_UNAVAILABLE, REASSEMBLY_COMPLETED, REGISTRATION_ADDED, REGISTRATION_EXPIRED, REGISTRATION_REMOVED, ROUTE_ADD, and ROUTE_DEL.
Referenced by dtn::BundleEvent::type_str().
| static std::string dtn::get_payload_str | ( | const Bundle * | b | ) | [static] |
Definition at line 66 of file TcaRouter.cc.
References dtn::BundlePayload::length(), dtn::Bundle::payload_, and dtn::BundlePayload::read_data().
Referenced by dtn::TcaRouter::handle_anonymous_bundle(), dtn::TcaRouter::handle_bl_control_bundle(), dtn::TcaRouter::handle_bundle_transmitted(), dtn::TcaRouter::handle_register(), and log_bundle().
| static void dtn::log_bundle | ( | const std::string & | comment, | |
| const Bundle * | b, | |||
| bool | include_payload | |||
| ) | [static] |
Definition at line 91 of file TcaRouter.cc.
References dtn::EndpointID::c_str(), dtn::Bundle::dest_, get_payload_str(), log_debug, dtn::Bundle::source_, and dtn::EndpointID::str().
Referenced by dtn::TcaRouter::handle_bundle_received().
| static void dtn::log_controlbundle | ( | const TcaControlBundle & | cb | ) | [static] |
Definition at line 107 of file TcaRouter.cc.
References TcaControlBundle::args_, TcaControlBundle::code_, and log_debug.
Referenced by dtn::TcaRouter::handle_register().
const std::string dtn::BL = "tca://localhost/bundlelayer" [static] |
Definition at line 56 of file TcaRouter.cc.
Referenced by dtn::TcaRouter::handle_ask(), dtn::TcaRouter::handle_bl_ask(), dtn::TcaRouter::handle_contact_down(), dtn::TcaRouter::handle_contact_up(), dtn::TcaRouter::handle_get_routes(), dtn::TcaRouter::handle_link_available(), dtn::TcaRouter::handle_link_unavailable(), dtn::TcaRouter::handle_register(), dtn::TcaRouter::handle_shutdown_request(), dtn::TcaRouter::handle_tca_unbound_bundle(), dtn::TcaRouter::on_adv_transmitted(), dtn::TcaRouter::on_ask_transmitted(), dtn::TcaRouter::on_coa_transmitted(), and dtn::TcaRouter::push_wrapped_bundle().
| unsigned int** dtn::dist |
Definition at line 13 of file LinkScheduleEstimator.cc.
Referenced by dtn::LinkScheduleEstimator::log_dist(), and dtn::LinkScheduleEstimator::log_dist_r().
const char* dtn::GLOBAL_KEY = "global_key" [static] |
Definition at line 51 of file GlobalStore.cc.
Referenced by dtn::GlobalStore::do_init(), dtn::GlobalStore::load(), and dtn::GlobalStore::update().
const char* dtn::GLOBAL_TABLE = "globals" [static] |
1.5.1