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] |