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


Classes | |
| class | Sender |
Public Member Functions | |
| ClientHandler (ApiServerInterface &srv, ibrcommon::tcpstream *stream, size_t connectionid) | |
| virtual | ~ClientHandler () |
| virtual void | initialize () |
| virtual void | shutdown () |
| virtual void | eventShutdown (StreamConnection::ConnectionShutdownCases csc) |
| virtual void | eventTimeout () |
| virtual void | eventError () |
| virtual void | eventConnectionDown () |
| virtual void | eventConnectionUp (const StreamContactHeader &header) |
| virtual void | eventBundleRefused () |
| virtual void | eventBundleForwarded () |
| virtual void | eventBundleAck (size_t ack) |
| const dtn::data::EID & | getPeer () const |
| void | queue (const dtn::data::Bundle &bundle) |
Public Attributes | |
| size_t | id |
Protected Member Functions | |
| void | received (const dtn::streams::StreamContactHeader &h) |
| void | run () |
| void | finally () |
| bool | __cancellation () |
| bool | good () const |
Friends | |
| ClientHandler & | operator>> (ClientHandler &conn, dtn::data::Bundle &bundle) |
| ClientHandler & | operator<< (ClientHandler &conn, const dtn::data::Bundle &bundle) |
Definition at line 32 of file ClientHandler.h.
| dtn::api::ClientHandler::ClientHandler | ( | ApiServerInterface & | srv, |
| ibrcommon::tcpstream * | stream, | ||
| size_t | connectionid | ||
| ) |
Definition at line 38 of file ClientHandler.cpp.
References ibrcommon::tcpstream::enableNoDelay(), and dtn::daemon::Configuration::getInstance().

| dtn::api::ClientHandler::~ClientHandler | ( | ) | [virtual] |
Definition at line 49 of file ClientHandler.cpp.
| bool dtn::api::ClientHandler::__cancellation | ( | ) | [protected, virtual] |
Reimplemented from ibrcommon::Thread.
Definition at line 159 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::eventBundleAck | ( | size_t | ack | ) | [virtual] |
This method is called if a ACK is received.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 131 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::eventBundleForwarded | ( | ) | [virtual] |
This method is called if a bundle is refused by the peer.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 115 of file ClientHandler.cpp.
References dtn::core::BUNDLE_DELIVERED, ibrcommon::Queue< T >::getnpop(), and dtn::core::BundleEvent::raise().

| void dtn::api::ClientHandler::eventBundleRefused | ( | ) | [virtual] |
This method is called if a bundle is refused by the peer.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 102 of file ClientHandler.cpp.
References ibrcommon::Queue< T >::getnpop().

| void dtn::api::ClientHandler::eventConnectionDown | ( | ) | [virtual] |
This method is called if a connection went down.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 90 of file ClientHandler.cpp.
References IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, and ibrcommon::Exception::what().

| void dtn::api::ClientHandler::eventConnectionUp | ( | const StreamContactHeader & | header | ) | [virtual] |
This method is called if a handshake was successful.
| header |
Implements dtn::streams::StreamConnection::Callback.
Definition at line 71 of file ClientHandler.cpp.
References dtn::streams::StreamContactHeader::_localeid, dtn::data::EID::CBHE_SCHEME, dtn::api::ApiServerInterface::connectionUp(), dtn::data::EID::getApplication(), dtn::data::EID::getHost(), dtn::data::EID::getString(), IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

| void dtn::api::ClientHandler::eventError | ( | ) | [virtual] |
This method is called if a error occured in the stream.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 67 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::eventShutdown | ( | StreamConnection::ConnectionShutdownCases | csc | ) | [virtual] |
This method is called if a SHUTDOWN message is received.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 59 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::eventTimeout | ( | ) | [virtual] |
This method is called if the stream is closed by a TIMEOUT.
Implements dtn::streams::StreamConnection::Callback.
Definition at line 63 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::finally | ( | void | ) | [protected, virtual] |
This method is called when the run() method finishes.
Reimplemented from ibrcommon::Thread.
Definition at line 169 of file ClientHandler.cpp.
References dtn::api::ApiServerInterface::connectionDown(), IBRCOMMON_LOGGER_DEBUG, and IBRCOMMON_LOGGER_ENDL.

| const dtn::data::EID & dtn::api::ClientHandler::getPeer | ( | ) | const |
Definition at line 54 of file ClientHandler.cpp.
| bool dtn::api::ClientHandler::good | ( | ) | const [protected] |
Definition at line 318 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::initialize | ( | ) | [virtual] |
Definition at line 136 of file ClientHandler.cpp.
References IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_ENDL, ibrcommon::DetachedThread::start(), and ibrcommon::Exception::what().
Referenced by dtn::api::ApiServer::componentRun().

| void dtn::api::ClientHandler::queue | ( | const dtn::data::Bundle & | bundle | ) |
Definition at line 374 of file ClientHandler.cpp.
| void dtn::api::ClientHandler::received | ( | const dtn::streams::StreamContactHeader & | h | ) | [protected] |
| void dtn::api::ClientHandler::run | ( | ) | [protected, virtual] |
Abstract interface for thread context run method.
Implements ibrcommon::Thread.
Definition at line 187 of file ClientHandler.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(), dtn::streams::StreamConnection::handshake(), IBRCOMMON_LOGGER, IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, dtn::data::PrimaryBlock::IBRDTN_REQUEST_COMPRESSION, dtn::core::BundleCore::local, dtn::data::Bundle::push_front(), dtn::net::BundleReceivedEvent::raise(), dtn::data::PrimaryBlock::relabel(), dtn::streams::StreamContactHeader::REQUEST_ACKNOWLEDGMENTS, dtn::data::PrimaryBlock::set(), dtn::streams::StreamConnection::shutdown(), ibrcommon::Exception::what(), and ibrcommon::Thread::yield().

| void dtn::api::ClientHandler::shutdown | ( | ) | [virtual] |
Definition at line 146 of file ClientHandler.cpp.
References IBRCOMMON_LOGGER_DEBUG, IBRCOMMON_LOGGER_ENDL, dtn::streams::StreamConnection::shutdown(), ibrcommon::DetachedThread::stop(), and ibrcommon::Exception::what().

| ClientHandler& operator<< | ( | ClientHandler & | conn, |
| const dtn::data::Bundle & | bundle | ||
| ) | [friend] |
Definition at line 304 of file ClientHandler.cpp.
| ClientHandler& operator>> | ( | ClientHandler & | conn, |
| dtn::data::Bundle & | bundle | ||
| ) | [friend] |
Definition at line 296 of file ClientHandler.cpp.
| size_t dtn::api::ClientHandler::id |
Definition at line 38 of file ClientHandler.h.
Referenced by dtn::api::ApiServer::connectionDown(), and dtn::api::ApiServer::connectionUp().