Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
bulkio::InPortBase< PortTraits > Class Template Reference

#include <bulkio_in_port.h>

Inheritance diagram for bulkio::InPortBase< PortTraits >:
Port_Provides_base_impl PortBase bulkio::InPort< PortTraits > bulkio::InStringPort< PortTraits >

Public Types

typedef PortTraits Traits
 
typedef Traits::SequenceType PortSequenceType
 
typedef Traits::TransportType TransportType
 
typedef Traits::PushType PushArgumentType
 
typedef Traits::PortType PortType
 
typedef DataTransfer< typename Traits::DataTransferTraits > DataTransferType
 
typedef std::deque< DataTransferType * > WorkQueue
 

Public Member Functions

virtual ~InPortBase ()
 
virtual DataTransferTypegetPacket (float timeout)
 
virtual DataTransferTypegetPacket (float timeout, const std::string &streamID)
 
virtual void pushSRI (const BULKIO::StreamSRI &H)
 
virtual void enableStats (bool enable)
 
virtual BULKIO::PortUsageType state ()
 
virtual BULKIO::PortStatistics * statistics ()
 
virtual BULKIO::StreamSRISequence * activeSRIs ()
 
virtual int getCurrentQueueDepth ()
 
virtual int getMaxQueueDepth ()
 
virtual void setMaxQueueDepth (int newDepth)
 
virtual void block ()
 
virtual void unblock ()
 
virtual void startPort ()
 
virtual void stopPort ()
 
virtual bool blocked ()
 
template<typename T >
void setNewStreamListener (T &target, void(T::*func)(BULKIO::StreamSRI &))
 
template<typename T >
void setNewStreamListener (T *target, void(T::*func)(BULKIO::StreamSRI &))
 
void setNewStreamListener (SriListener *newListener)
 
void setNewStreamListener (SriListenerCallbackFn newListener)
 
void setLogger (LOGGER_PTR logger)
 
std::string getRepid () const
 
- Public Member Functions inherited from Port_Provides_base_impl
 Port_Provides_base_impl (std::string port_name)
 
virtual ~Port_Provides_base_impl ()
 
virtual std::string getDirection () const
 
- Public Member Functions inherited from PortBase
 PortBase (const std::string &name)
 
virtual ~PortBase ()
 
virtual void setDescription (const std::string &desc)
 
virtual void releasePort ()
 
virtual std::string getName ()
 
virtual std::string getDescription ()
 

Protected Member Functions

 InPortBase (std::string port_name, LOGGER_PTR logger, bulkio::sri::Compare sriCmp=bulkio::sri::DefaultComparator, SriListener *newStreamCB=NULL)
 
void queuePacket (PushArgumentType data, const BULKIO::PrecisionUTCTime &T, CORBA::Boolean EOS, const char *streamID)
 
virtual void createStream (const std::string &streamID, const BULKIO::StreamSRI &sri)
 
virtual void removeStream (const std::string &streamID)
 
virtual bool isStreamActive (const std::string &streamID)
 
virtual bool isStreamEnabled (const std::string &streamID)
 
DataTransferTypefetchPacket (const std::string &streamID)
 
void packetReceived (const std::string &streamID)
 
size_t samplesAvailable (const std::string &streamID, bool firstPacket)
 
int _getElementLength (PushArgumentType data)
 

Protected Attributes

WorkQueue workQueue
 
uint32_t lastQueueSize
 
bulkio::sri::Compare sri_cmp
 
boost::shared_ptr< SriListener > newStreamCallback
 
SriMap currentHs
 
MUTEX dataBufferLock
 
MUTEX sriUpdateLock
 
MUTEX dataAvailableMutex
 
CONDITION dataAvailable
 
bool breakBlock
 
bool blocking
 
queueSemaphorequeueSem
 
linkStatisticsstats
 
LOGGER_PTR logger
 
redhawk::signal< std::string > packetWaiters
 
- Protected Attributes inherited from PortBase
std::string name
 
std::string description
 

Friends

class InputStream< PortTraits >
 

Member Typedef Documentation

template<typename PortTraits >
typedef DataTransfer< typename Traits::DataTransferTraits > bulkio::InPortBase< PortTraits >::DataTransferType
template<typename PortTraits >
typedef Traits::SequenceType bulkio::InPortBase< PortTraits >::PortSequenceType
template<typename PortTraits >
typedef Traits::PortType bulkio::InPortBase< PortTraits >::PortType
template<typename PortTraits >
typedef Traits::PushType bulkio::InPortBase< PortTraits >::PushArgumentType
template<typename PortTraits >
typedef PortTraits bulkio::InPortBase< PortTraits >::Traits
template<typename PortTraits >
typedef Traits::TransportType bulkio::InPortBase< PortTraits >::TransportType
template<typename PortTraits >
typedef std::deque< DataTransferType * > bulkio::InPortBase< PortTraits >::WorkQueue

Constructor & Destructor Documentation

template<typename PortTraits >
virtual bulkio::InPortBase< PortTraits >::~InPortBase ( )
virtual
template<typename PortTraits >
bulkio::InPortBase< PortTraits >::InPortBase ( std::string  port_name,
LOGGER_PTR  logger,
bulkio::sri::Compare  sriCmp = bulkio::sri::DefaultComparator,
SriListener *  newStreamCB = NULL 
)
protected

Member Function Documentation

template<typename PortTraits >
int bulkio::InPortBase< PortTraits >::_getElementLength ( PushArgumentType  data)
protected
template<typename PortTraits >
virtual BULKIO::StreamSRISequence* bulkio::InPortBase< PortTraits >::activeSRIs ( )
virtual
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::block ( )
virtual
template<typename PortTraits >
virtual bool bulkio::InPortBase< PortTraits >::blocked ( )
virtual
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::createStream ( const std::string &  streamID,
const BULKIO::StreamSRI &  sri 
)
protectedvirtual

Reimplemented in bulkio::InPort< PortTraits >.

template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::enableStats ( bool  enable)
virtual
template<typename PortTraits >
DataTransferType* bulkio::InPortBase< PortTraits >::fetchPacket ( const std::string &  streamID)
protected
template<typename PortTraits >
virtual int bulkio::InPortBase< PortTraits >::getCurrentQueueDepth ( )
virtual
template<typename PortTraits >
virtual int bulkio::InPortBase< PortTraits >::getMaxQueueDepth ( )
virtual
template<typename PortTraits >
virtual DataTransferType* bulkio::InPortBase< PortTraits >::getPacket ( float  timeout)
virtual
template<typename PortTraits >
virtual DataTransferType* bulkio::InPortBase< PortTraits >::getPacket ( float  timeout,
const std::string &  streamID 
)
virtual
template<typename PortTraits >
std::string bulkio::InPortBase< PortTraits >::getRepid ( ) const
virtual

Reimplemented from PortBase.

template<typename PortTraits >
virtual bool bulkio::InPortBase< PortTraits >::isStreamActive ( const std::string &  streamID)
protectedvirtual

Reimplemented in bulkio::InPort< PortTraits >.

template<typename PortTraits >
virtual bool bulkio::InPortBase< PortTraits >::isStreamEnabled ( const std::string &  streamID)
protectedvirtual

Reimplemented in bulkio::InPort< PortTraits >.

template<typename PortTraits >
void bulkio::InPortBase< PortTraits >::packetReceived ( const std::string &  streamID)
protected
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::pushSRI ( const BULKIO::StreamSRI &  H)
virtual
template<typename PortTraits >
void bulkio::InPortBase< PortTraits >::queuePacket ( PushArgumentType  data,
const BULKIO::PrecisionUTCTime &  T,
CORBA::Boolean  EOS,
const char *  streamID 
)
protected
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::removeStream ( const std::string &  streamID)
protectedvirtual

Reimplemented in bulkio::InPort< PortTraits >.

template<typename PortTraits >
size_t bulkio::InPortBase< PortTraits >::samplesAvailable ( const std::string &  streamID,
bool  firstPacket 
)
protected
template<typename PortTraits >
void bulkio::InPortBase< PortTraits >::setLogger ( LOGGER_PTR  logger)
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::setMaxQueueDepth ( int  newDepth)
virtual
template<typename PortTraits >
template<typename T >
void bulkio::InPortBase< PortTraits >::setNewStreamListener ( T &  target,
void(T::*)(BULKIO::StreamSRI &)  func 
)
inline
template<typename PortTraits >
template<typename T >
void bulkio::InPortBase< PortTraits >::setNewStreamListener ( T *  target,
void(T::*)(BULKIO::StreamSRI &)  func 
)
inline
template<typename PortTraits >
void bulkio::InPortBase< PortTraits >::setNewStreamListener ( SriListener *  newListener)
template<typename PortTraits >
void bulkio::InPortBase< PortTraits >::setNewStreamListener ( SriListenerCallbackFn  newListener)
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::startPort ( )
virtual

Reimplemented from PortBase.

template<typename PortTraits >
virtual BULKIO::PortUsageType bulkio::InPortBase< PortTraits >::state ( )
virtual
template<typename PortTraits >
virtual BULKIO::PortStatistics* bulkio::InPortBase< PortTraits >::statistics ( )
virtual
template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::stopPort ( )
virtual

Reimplemented from PortBase.

template<typename PortTraits >
virtual void bulkio::InPortBase< PortTraits >::unblock ( )
virtual

Friends And Related Function Documentation

template<typename PortTraits >
friend class InputStream< PortTraits >
friend

Member Data Documentation

template<typename PortTraits >
bool bulkio::InPortBase< PortTraits >::blocking
protected
template<typename PortTraits >
bool bulkio::InPortBase< PortTraits >::breakBlock
protected
template<typename PortTraits >
SriMap bulkio::InPortBase< PortTraits >::currentHs
protected
template<typename PortTraits >
CONDITION bulkio::InPortBase< PortTraits >::dataAvailable
protected
template<typename PortTraits >
MUTEX bulkio::InPortBase< PortTraits >::dataAvailableMutex
protected
template<typename PortTraits >
MUTEX bulkio::InPortBase< PortTraits >::dataBufferLock
protected
template<typename PortTraits >
uint32_t bulkio::InPortBase< PortTraits >::lastQueueSize
protected
template<typename PortTraits >
LOGGER_PTR bulkio::InPortBase< PortTraits >::logger
protected
template<typename PortTraits >
boost::shared_ptr< SriListener > bulkio::InPortBase< PortTraits >::newStreamCallback
protected
template<typename PortTraits >
redhawk::signal<std::string> bulkio::InPortBase< PortTraits >::packetWaiters
protected
template<typename PortTraits >
queueSemaphore* bulkio::InPortBase< PortTraits >::queueSem
protected
template<typename PortTraits >
bulkio::sri::Compare bulkio::InPortBase< PortTraits >::sri_cmp
protected
template<typename PortTraits >
MUTEX bulkio::InPortBase< PortTraits >::sriUpdateLock
protected
template<typename PortTraits >
linkStatistics* bulkio::InPortBase< PortTraits >::stats
protected
template<typename PortTraits >
WorkQueue bulkio::InPortBase< PortTraits >::workQueue
protected

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