dtn::UDPConvergenceLayer::Receiver Class Reference

#include <UDPConvergenceLayer.h>

Inheritance diagram for dtn::UDPConvergenceLayer::Receiver:

dtn::CLInfo oasys::UDPClient oasys::Thread oasys::SerializableObject oasys::IPClient oasys::IPSocket oasys::IOClient oasys::Logger oasys::IOHandlerBase oasys::IOHandlerBase

List of all members.


Detailed Description

Helper class (and thread) that listens on a registered interface for incoming data.

Definition at line 123 of file UDPConvergenceLayer.h.


Public Member Functions

 Receiver (UDPConvergenceLayer::Params *params)
 Constructor.
virtual ~Receiver ()
 Destructor.
void run ()
 Loop forever, issuing blocking calls to IPSocket::recvfrom(), then calling the process_data function when new data does arrive.

Public Attributes

UDPConvergenceLayer::Params params_
 Socket parameters are public fields that should be set after creating the socket but before the socket is used.

Protected Member Functions

void process_data (u_char *bp, size_t len)
 Handler to process an arrived packet.

Constructor & Destructor Documentation

dtn::UDPConvergenceLayer::Receiver::Receiver ( UDPConvergenceLayer::Params params  ) 

Constructor.

Definition at line 323 of file UDPConvergenceLayer.cc.

References oasys::IPSocket::logfd_, and params_.

virtual dtn::UDPConvergenceLayer::Receiver::~Receiver (  )  [inline, virtual]

Destructor.

Definition at line 136 of file UDPConvergenceLayer.h.


Member Function Documentation

void dtn::UDPConvergenceLayer::Receiver::run (  )  [virtual]

Loop forever, issuing blocking calls to IPSocket::recvfrom(), then calling the process_data function when new data does arrive.

Note that unlike in the Thread base class, this run() method is public in case we don't want to actually create a new thread for this guy, but instead just want to run the main loop.

Implements oasys::Thread.

Definition at line 363 of file UDPConvergenceLayer.cc.

References oasys::IPSocket::close(), errno, intoa, log_debug, log_err, MAX_UDP_PACKET, process_data(), oasys::IPSocket::recvfrom(), and oasys::Thread::should_stop().

void dtn::UDPConvergenceLayer::Receiver::process_data ( u_char *  bp,
size_t  len 
) [protected]

Handler to process an arrived packet.

Definition at line 334 of file UDPConvergenceLayer.cc.

References dtn::Bundle::bundleid_, dtn::BundleProtocol::consume(), dtn::EVENTSRC_PEER, dtn::BundlePayload::length(), log_debug, log_err, dtn::Bundle::payload_, and dtn::BundleDaemon::post().

Referenced by run().


Member Data Documentation

UDPConvergenceLayer::Params dtn::UDPConvergenceLayer::Receiver::params_

Socket parameters are public fields that should be set after creating the socket but before the socket is used.

Reimplemented from oasys::IPSocket.

Definition at line 149 of file UDPConvergenceLayer.h.

Referenced by Receiver().


The documentation for this class was generated from the following files:
Generated on Sat Sep 8 08:36:22 2007 for DTN Reference Implementation by  doxygen 1.5.3