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