#include <UDPConvergenceLayer.h>
Inheritance diagram for dtn::UDPConvergenceLayer::Receiver:
Definition at line 134 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. |
dtn::UDPConvergenceLayer::Receiver::Receiver | ( | UDPConvergenceLayer::Params * | params | ) |
Constructor.
Definition at line 328 of file UDPConvergenceLayer.cc.
References oasys::IPSocket::logfd_, and params_.
virtual dtn::UDPConvergenceLayer::Receiver::~Receiver | ( | ) | [inline, virtual] |
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 378 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 339 of file UDPConvergenceLayer.cc.
References dtn::Bundle::bundleid_, dtn::EVENTSRC_PEER, dtn::BundlePayload::length(), log_debug, log_err, dtn::BundleProtocol::parse_header_blocks(), dtn::Bundle::payload_, dtn::BundleDaemon::post(), and dtn::BundlePayload::set_data().
Referenced by run().
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 160 of file UDPConvergenceLayer.h.
Referenced by Receiver().