|
IBR-DTNSuite 0.6
|
#include <ApiServer.h>


Public Member Functions | |
| ApiServer (const ibrcommon::File &socket) | |
| ApiServer (const ibrcommon::vinterface &net, int port=4550) | |
| virtual | ~ApiServer () |
| virtual const std::string | getName () const |
| void | freeRegistration (Registration ®) |
| void | raiseEvent (const dtn::core::Event *evt) |
| void | processIncomingBundle (const dtn::data::EID &source, dtn::data::Bundle &bundle) |
Protected Member Functions | |
| bool | __cancellation () |
| virtual void | connectionUp (ClientHandler *conn) |
| virtual void | connectionDown (ClientHandler *conn) |
| void | componentUp () |
| void | componentRun () |
| void | componentDown () |
Definition at line 26 of file ApiServer.h.
| dtn::api::ApiServer::ApiServer | ( | const ibrcommon::File & | socket | ) |
Definition at line 32 of file ApiServer.cpp.
| dtn::api::ApiServer::ApiServer | ( | const ibrcommon::vinterface & | net, |
| int | port = 4550 |
||
| ) |
Definition at line 37 of file ApiServer.cpp.
References ibrcommon::tcpserver::bind().

| dtn::api::ApiServer::~ApiServer | ( | ) | [virtual] |
Definition at line 43 of file ApiServer.cpp.
References ibrcommon::JoinableThread::join().

| bool dtn::api::ApiServer::__cancellation | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 48 of file ApiServer.cpp.
References ibrcommon::tcpserver::shutdown().

| void dtn::api::ApiServer::componentDown | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 96 of file ApiServer.cpp.
References dtn::core::NodeEvent::className, dtn::routing::QueueBundleEvent::className, ibrcommon::Thread::sleep(), and dtn::core::EventReceiver::unbindEvent().

| void dtn::api::ApiServer::componentRun | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 61 of file ApiServer.cpp.
References ibrcommon::tcpserver::accept(), dtn::api::Registration::getHandle(), dtn::daemon::Configuration::getInstance(), IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, ibrcommon::DetachedThread::start(), and ibrcommon::Thread::yield().

| void dtn::api::ApiServer::componentUp | ( | ) | [protected, virtual] |
Implements dtn::daemon::IndependentComponent.
Definition at line 54 of file ApiServer.cpp.
References dtn::core::EventReceiver::bindEvent(), dtn::core::NodeEvent::className, dtn::routing::QueueBundleEvent::className, and ibrcommon::tcpserver::listen().

| void dtn::api::ApiServer::connectionDown | ( | ClientHandler * | conn | ) | [protected, virtual] |
Implements dtn::api::ApiServerInterface.
Definition at line 196 of file ApiServer.cpp.
References IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.
| void dtn::api::ApiServer::connectionUp | ( | ClientHandler * | conn | ) | [protected, virtual] |
Implements dtn::api::ApiServerInterface.
Definition at line 190 of file ApiServer.cpp.
References IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.
| void dtn::api::ApiServer::freeRegistration | ( | Registration & | reg | ) | [virtual] |
Implements dtn::api::ApiServerInterface.
Definition at line 214 of file ApiServer.cpp.
References dtn::api::Registration::getHandle(), IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

| const std::string dtn::api::ApiServer::getName | ( | ) | const [virtual] |
Implements dtn::daemon::Component.
Definition at line 185 of file ApiServer.cpp.
| void dtn::api::ApiServer::processIncomingBundle | ( | const dtn::data::EID & | source, |
| dtn::data::Bundle & | bundle | ||
| ) | [virtual] |
Implements dtn::api::ApiServerInterface.
Definition at line 115 of file ApiServer.cpp.
References dtn::data::PrimaryBlock::_custodian, dtn::data::PrimaryBlock::_destination, dtn::data::PrimaryBlock::_reportto, dtn::data::PrimaryBlock::_source, dtn::data::PrimaryBlock::_timestamp, dtn::data::CompressedPayloadBlock::compress(), dtn::data::CompressedPayloadBlock::COMPRESSION_ZLIB, dtn::data::PrimaryBlock::DTNSEC_REQUEST_ENCRYPT, dtn::data::PrimaryBlock::DTNSEC_REQUEST_SIGN, dtn::data::PrimaryBlock::get(), dtn::data::Bundle::getBlock(), dtn::security::SecurityManager::getInstance(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, dtn::data::PrimaryBlock::IBRDTN_REQUEST_COMPRESSION, dtn::data::Bundle::push_front(), dtn::net::BundleReceivedEvent::raise(), dtn::data::PrimaryBlock::set(), and ibrcommon::Exception::what().

| void dtn::api::ApiServer::raiseEvent | ( | const dtn::core::Event * | evt | ) | [virtual] |
Implements dtn::core::EventReceiver.
Definition at line 228 of file ApiServer.cpp.
References dtn::routing::QueueBundleEvent::bundle, dtn::data::MetaBundle::destination, dtn::api::ClientHandler::eventNodeAvailable(), dtn::api::ClientHandler::eventNodeUnavailable(), dtn::core::NodeEvent::getAction(), dtn::core::NodeEvent::getNode(), dtn::api::ClientHandler::getRegistration(), dtn::api::Registration::hasSubscribed(), dtn::core::NODE_AVAILABLE, dtn::core::NODE_UNAVAILABLE, dtn::api::Registration::notify(), and dtn::api::Registration::NOTIFY_BUNDLE_AVAILABLE.
