IBR-DTNSuite 0.6

dtn::api::ClientHandler Class Reference

#include <ClientHandler.h>

Inheritance diagram for dtn::api::ClientHandler:
Collaboration diagram for dtn::api::ClientHandler:

List of all members.

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::EIDgetPeer () 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

ClientHandleroperator>> (ClientHandler &conn, dtn::data::Bundle &bundle)
ClientHandleroperator<< (ClientHandler &conn, const dtn::data::Bundle &bundle)

Detailed Description

Definition at line 32 of file ClientHandler.h.


Constructor & Destructor Documentation

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().

Here is the call graph for this function:

dtn::api::ClientHandler::~ClientHandler ( ) [virtual]

Definition at line 49 of file ClientHandler.cpp.


Member Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

void dtn::api::ClientHandler::eventConnectionUp ( const StreamContactHeader header) [virtual]
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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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::shutdown ( ) [virtual]

Friends And Related Function Documentation

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.


Member Data Documentation


The documentation for this class was generated from the following files: