Registration class to represent an actual attached application over the client api. More...
#include <APIRegistration.h>
Public Member Functions | |
APIRegistration (const oasys::Builder &builder) | |
Constructor for deserialization. | |
APIRegistration (u_int32_t regid, const EndpointIDPattern &endpoint, failure_action_t action, u_int32_t session_flags, u_int32_t expiration, const std::string &script="") | |
Constructor. | |
~APIRegistration () | |
void | serialize (oasys::SerializeAction *a) |
Virtual from SerializableObject. | |
void | deliver_bundle (Bundle *bundle) |
Virtual from Registration. | |
void | session_notify (Bundle *bundle) |
Hook for subclasses to handle a new session notification on this registration. | |
BlockingBundleList * | bundle_list () |
Accessor for the queue of bundles for the registration. | |
BlockingBundleList * | session_notify_list () |
Accessor for notification of session subscribers / unsubscribers (currently just the subscription bundles). | |
Protected Attributes | |
BlockingBundleList * | bundle_list_ |
Queue of bundles for the registration. | |
BlockingBundleList * | session_notify_list_ |
Queue of subscription notification bundles. |
Registration class to represent an actual attached application over the client api.
Definition at line 31 of file APIRegistration.h.
dtn::APIRegistration::APIRegistration | ( | const oasys::Builder & | builder | ) |
Constructor for deserialization.
Definition at line 30 of file APIRegistration.cc.
References bundle_list_, and session_notify_list_.
dtn::APIRegistration::APIRegistration | ( | u_int32_t | regid, | |
const EndpointIDPattern & | endpoint, | |||
failure_action_t | action, | |||
u_int32_t | session_flags, | |||
u_int32_t | expiration, | |||
const std::string & | script = "" | |||
) |
Constructor.
Definition at line 38 of file APIRegistration.cc.
References bundle_list_, dtn::Session::CUSTODY, and session_notify_list_.
dtn::APIRegistration::~APIRegistration | ( | ) |
Definition at line 70 of file APIRegistration.cc.
References bundle_list_, and session_notify_list_.
BlockingBundleList* dtn::APIRegistration::bundle_list | ( | ) | [inline] |
Accessor for the queue of bundles for the registration.
Definition at line 60 of file APIRegistration.h.
References bundle_list_.
Referenced by dtn::APIClient::handle_recv(), and dtn::APIClient::wait_for_notify().
void dtn::APIRegistration::deliver_bundle | ( | Bundle * | bundle | ) | [virtual] |
Virtual from Registration.
Implements dtn::Registration.
Definition at line 80 of file APIRegistration.cc.
References dtn::Registration::active(), bundle_list_, dtn::Bundle::bundleid(), dtn::EndpointID::c_str(), dtn::Registration::DROP, dtn::Registration::endpoint_, dtn::Registration::EXEC, dtn::Registration::failure_action_, dtn::BundleList::insert_random(), dtn::BundleDaemon::post(), dtn::BundleList::push_back(), dtn::Registration::regid_, and dtn::Registration::script_.
void dtn::APIRegistration::serialize | ( | oasys::SerializeAction * | a | ) |
Virtual from SerializableObject.
Reimplemented from dtn::Registration.
Definition at line 57 of file APIRegistration.cc.
References dtn::Session::CUSTODY, dtn::Registration::session_flags_, and session_notify_list_.
void dtn::APIRegistration::session_notify | ( | Bundle * | bundle | ) | [virtual] |
Hook for subclasses to handle a new session notification on this registration.
Must be implemented by any custody registration subclasses since the default implementation just panics.
Reimplemented from dtn::Registration.
Definition at line 117 of file APIRegistration.cc.
References dtn::BundleList::push_back(), and session_notify_list_.
BlockingBundleList* dtn::APIRegistration::session_notify_list | ( | ) | [inline] |
Accessor for notification of session subscribers / unsubscribers (currently just the subscription bundles).
Definition at line 66 of file APIRegistration.h.
References session_notify_list_.
Referenced by dtn::APIClient::handle_register(), dtn::APIClient::handle_session_update(), and dtn::APIClient::wait_for_notify().
BlockingBundleList* dtn::APIRegistration::bundle_list_ [protected] |
Queue of bundles for the registration.
Definition at line 70 of file APIRegistration.h.
Referenced by APIRegistration(), bundle_list(), deliver_bundle(), and ~APIRegistration().
Queue of subscription notification bundles.
Definition at line 73 of file APIRegistration.h.
Referenced by APIRegistration(), serialize(), session_notify(), session_notify_list(), and ~APIRegistration().