OpenDaVINCI  4.16.0
odcore::io::PacketPipeline Class Reference

#include <PacketPipeline.h>

Inheritance diagram for odcore::io::PacketPipeline:
Inheritance graph

Public Member Functions

 PacketPipeline ()
virtual ~PacketPipeline ()
virtual void setPacketListener (PacketListener *pl)
virtual void nextPacket (const odcore::data::Packet &p)
void start ()
void stop ()
void serviceReady ()

Protected Member Functions

virtual bool isRunning ()

Detailed Description

This class distributes odcore::data::Packets using an asynchronous pipeline to decouple the processing of the data when invoking a PacketListener at higher levels.

Constructor & Destructor Documentation

odcore::io::PacketPipeline::PacketPipeline ( )
odcore::io::PacketPipeline::~PacketPipeline ( )

Member Function Documentation

bool odcore::base::Service::isRunning ( )

This method returns true, iff this runnable is in its internal state for running.

true iff this runnable is in its internal state for running.

Implements odcore::wrapper::Runnable.

void odcore::io::PacketPipeline::nextPacket ( const odcore::data::Packet &  p)

This method is called whenever a new packet occurs.

pPacket that has been occurred.

Implements odcore::io::PacketListener.

References odcore::base::Condition::wakeAll().

Referenced by odcore::io::udp::UDPReceiver::nextPacket().

void odcore::base::Service::serviceReady ( )

This method has to be called by the run() method to unblock the start() method when the service is fully initialized.

Referenced by odcontext::base::TimeTriggeredConferenceClientModuleRunner::run().

void odcore::io::PacketPipeline::setPacketListener ( PacketListener pl)

This method sets or sets a packet listener.

plPacketListener to be set. If set to NULL, observing is suspended.

Implements odcore::io::PacketObserver.

Referenced by odcore::io::udp::UDPReceiver::setPacketListener().

void odcore::base::Service::start ( )

This method starts the service and will block the calling thread until serviceReady() is called.

Referenced by odcontext::base::TimeTriggeredConferenceClientModuleRunner::step(), and odcore::io::udp::UDPReceiver::UDPReceiver().

void odcore::base::Service::stop ( )

This method stops the service. A stopped service CANNOT get restarted.

Referenced by ~PacketPipeline(), and odcore::io::udp::UDPReceiver::~UDPReceiver().