21 #ifndef __bulkio_base_h 22 #define __bulkio_base_h 28 #include <boost/thread/condition_variable.hpp> 29 #include <boost/thread/locks.hpp> 30 #include <boost/thread/locks.hpp> 31 #include <ossie/debug.h> 32 #include <ossie/BULKIO/bio_runtimeStats.h> 33 #include <ossie/BULKIO/bulkioDataTypes.h> 34 #include "ossie/Autocomplete.h" 65 typedef typename std::vector< std::pair< T, std::string > >
List;
72 typedef std::map< std::string, std::pair< BULKIO::StreamSRI, bool > >
SriMap;
74 typedef std::vector< BULKIO::StreamSRI >
SriList;
80 BULKIO::StreamSRI
sri;
101 return std::string(
"connection_descriptor");
175 virtual void update(
unsigned int elementsReceived,
float queueSize,
bool EOS,
const std::string &streamID,
bool flush =
false);
179 virtual BULKIO::PortStatistics
retrieve();
223 unsigned int maxValue;
224 unsigned int currValue;
289 BULKIO::PrecisionUTCTime
create(
const double wholeSecs=-1.0,
const double fractionalSecs=-1.0,
const Int16 tsrc= BULKIO::TCM_CPU );
294 BULKIO::PrecisionUTCTime
now();
299 BULKIO::PrecisionUTCTime
notSet();
304 BULKIO::PrecisionUTCTime
addSampleOffset(
const BULKIO::PrecisionUTCTime &T,
const size_t numSamples,
const double xdelta );
310 void normalize(BULKIO::PrecisionUTCTime& time);
317 bool DefaultComparator(
const BULKIO::PrecisionUTCTime &a,
const BULKIO::PrecisionUTCTime &b);
322 typedef bool (*
Compare)(
const BULKIO::PrecisionUTCTime &a,
const BULKIO::PrecisionUTCTime &b);
357 typedef bool (*
Compare)(
const BULKIO::StreamSRI &a,
const BULKIO::StreamSRI &b);
379 int compareFields(
const BULKIO::StreamSRI& lhs,
const BULKIO::StreamSRI& rhs);
405 sri.keywords.length(0);
411 inline void zeroTime(BULKIO::PrecisionUTCTime &timeTag) {
413 timeTag.tcmode = BULKIO::TCM_CPU;
419 BULKIO::StreamSRI
create( std::string sid=
"defStream",
const double srate = 1.0,
const Int16 xunits = BULKIO::UNITS_TIME,
const bool blocking=
false );
bool DefaultComparator(const BULKIO::PrecisionUTCTime &a, const BULKIO::PrecisionUTCTime &b)
StreamIDList activeStreamIDs
Definition: bulkio_base.h:196
BULKIO::PortStatistics runningStats
Definition: bulkio_base.h:194
int32_t Int32
Definition: bulkio_base.h:150
Definition: bulkio_base.h:370
const float BLOCKING
Definition: bulkio_base.h:245
Definition: bulkio_out_port.h:39
bool enabled
Definition: bulkio_base.h:191
std::set< std::string > connections
Definition: bulkio_base.h:81
int nbytes
Definition: bulkio_base.h:192
Definition: bulkio_base.h:366
unsigned int elements
Definition: bulkio_base.h:184
std::string connection_id
Definition: bulkio_base.h:102
Definition: bulkio_base.h:368
int receivedStatistics_idx
Definition: bulkio_base.h:198
double Double
Definition: bulkio_base.h:156
bool(* Compare)(const BULKIO::StreamSRI &a, const BULKIO::StreamSRI &b)
Definition: bulkio_base.h:357
std::map< std::string, std::pair< BULKIO::StreamSRI, bool > > SriMap
Definition: bulkio_base.h:72
uint64_t UInt64
Definition: bulkio_base.h:154
BULKIO::PrecisionUTCTime create(const double wholeSecs=-1.0, const double fractionalSecs=-1.0, const Int16 tsrc=BULKIO::TCM_CPU)
const float NON_BLOCKING
Definition: bulkio_base.h:240
uint8_t UInt8
Definition: bulkio_base.h:146
BULKIO::PrecisionUTCTime notSet()
unsigned long historyWindow
Definition: bulkio_base.h:197
Definition: bulkio_base.h:161
std::vector< statPoint > receivedStatistics
Definition: bulkio_base.h:195
boost::unique_lock< boost::mutex > UNIQUE_LOCK
Definition: bulkio_base.h:127
double secs
Definition: bulkio_base.h:186
std::string portName
Definition: bulkio_base.h:190
void zeroSRI(BULKIO::StreamSRI &sri)
Definition: bulkio_base.h:394
Definition: bulkio_base.h:205
Definition: bulkio_base.h:95
void setCurrValue(unsigned int newValue)
double flush_usec
Definition: bulkio_base.h:201
const uint64_t MAX_TRANSFER_BYTES
Definition: bulkio_base.h:235
Definition: bulkio_base.h:361
double usecs
Definition: bulkio_base.h:187
virtual void update(unsigned int elementsReceived, float queueSize, bool EOS, const std::string &streamID, bool flush=false)
std::string port_name
Definition: bulkio_base.h:106
int64_t Int64
Definition: bulkio_base.h:153
std::list< std::string > StreamIDList
Definition: bulkio_base.h:112
unsigned int getMaxValue(void)
Definition: bulkio_base.h:48
static std::string getId()
Definition: bulkio_base.h:100
char Char
Definition: bulkio_base.h:144
BULKIO::PrecisionUTCTime addSampleOffset(const BULKIO::PrecisionUTCTime &T, const size_t numSamples, const double xdelta)
bool(* Compare)(const BULKIO::PrecisionUTCTime &a, const BULKIO::PrecisionUTCTime &b)
Definition: bulkio_base.h:322
void zeroTime(BULKIO::PrecisionUTCTime &timeTag)
Definition: bulkio_base.h:411
Definition: bulkio_base.h:183
std::vector< std::pair< T, std::string > > List
Definition: bulkio_base.h:50
float queueSize
Definition: bulkio_base.h:185
BULKIO::StreamSRI sri
Definition: bulkio_base.h:80
double flush_sec
Definition: bulkio_base.h:200
Definition: bulkio_base.h:365
LOGGER LOGGER_PTR
Definition: bulkio_base.h:138
StreamIDList getActiveStreamIDs()
Definition: bulkio_base.h:177
boost::mutex::scoped_lock SCOPED_LOCK
Definition: bulkio_base.h:132
virtual void setEnabled(bool enableStats)
void setMaxValue(unsigned int newMaxValue)
Definition: bulkio_base.h:373
double bitSize
Definition: bulkio_base.h:193
virtual void setBitSize(double bitSize)
Definition: bulkio_base.h:364
std::string stream_id
Definition: bulkio_base.h:105
queueSemaphore(unsigned int initialMaxValue)
float Float
Definition: bulkio_base.h:155
virtual ~linkStatistics()
Definition: bulkio_base.h:169
Definition: bulkio_base.h:369
Definition: bulkio_base.h:372
bool DefaultComparator(const BULKIO::StreamSRI &a, const BULKIO::StreamSRI &b)
boost::condition_variable CONDITION
Definition: bulkio_base.h:122
boost::mutex MUTEX
Definition: bulkio_base.h:117
uint16_t UInt16
Definition: bulkio_base.h:148
connection_descriptor_struct()
Definition: bulkio_base.h:96
Definition: bulkio_base.h:362
int8_t Int8
Definition: bulkio_base.h:145
Definition: bulkio_base.h:79
Definition: bulkio_base.h:367
Definition: bulkio_base.h:363
int compareFields(const BULKIO::StreamSRI &lhs, const BULKIO::StreamSRI &rhs)
BULKIO::PrecisionUTCTime now()
int16_t Int16
Definition: bulkio_base.h:147
void normalize(BULKIO::PrecisionUTCTime &time)
SriMapStruct(const SriMapStruct &src)
Definition: bulkio_base.h:87
virtual BULKIO::PortStatistics retrieve()
SriMapStruct(const BULKIO::StreamSRI &in_sri)
Definition: bulkio_base.h:83
uint64_t MaxTransferBytes()
Definition: bulkio_base.h:247
Definition: bulkio_base.h:371
std::vector< BULKIO::StreamSRI > SriList
Definition: bulkio_base.h:74
uint32_t UInt32
Definition: bulkio_base.h:151
BULKIO::StreamSRI create(std::string sid="defStream", const double srate=1.0, const Int16 xunits=BULKIO::UNITS_TIME, const bool blocking=false)