11 #ifndef CARMA_MONITOR_FRAME_SUBSCRIBER_H
12 #define CARMA_MONITOR_FRAME_SUBSCRIBER_H
16 #include "carma/util/PthreadMutex.h"
26 class MonitorSystemQueueEntry;
112 void setFirstFireTime(
double firstFireTimeMJD );
120 double delayInSeconds,
121 int clearDelayInFrames);
141 void printTimes (
double timestamps[],
int numTimes)
const;
145 void writeMonitorStatsHoldingMsMapLock(
MonitorSystem & ms );
150 void clearErrorCounts();
155 MonitorSystemQueueEntry * > MonitorSystemMap;
158 MonitorSystemMap msMap_;
162 typedef ::std::map< subsystemIDType, int > SubsystemCountMap;
163 typedef ::std::map< subsystemIDType,
168 SubsystemCountMap receivedSubsystemFrameCount_;
169 SubsystemCountMap receivedSubsystemDataCount_;
170 SubsystemCountMap lateSubsystemFrameCount_;
171 SubsystemCountMap earlySubsystemFrameCount_;
172 SubsystemCountMap missedSubsystemFrameCount_;
173 SubsystemCountMap missedDataFrameCount_;
174 SubsystemFrameMap lastReceivedSubsystemFrames_;
177 int totalMissedDataFrames_;
178 int totalEarlyFrames_;
179 int totalLateFrames_;
180 int totalMissedFrames_;
182 int outOfOrderSubsystemFrames_;
183 int duplicateSubsystemFrames_;
184 int erroneousNotifications_;
189 void allocateMonitorSystems(
double delayInS);
190 void deallocateMonitorSystems();
192 void checkForWriteDiscontinuityHoldingLock(
const double currentFireTimeMJD );
195 bool isMissedDataCountingEnabled(
unsigned int subsystemID);
198 bool subsystemHasTimestamp(
unsigned int subsystemID);
205 #endif // CARMA_MONITOR_FRAME_SUBSCRIBER_H
A class that accepts named events from a Push supplier.
void operator()(const carma::monitor::TransportSubsystemFrame &tsf)
Process a TransportSubsystemFrame.
Exception class for errors.
The monitor system base class.
unsigned int frameType
Half second frames since Jan 1, 2000.
Contains sample values from all monitor points in a monitor subsystem.
void printTimes(double timestamps[], int numTimes) const
Called by push_structured_event.
FrameSubscriber(double delayInS, bool rawMode)
Constructor This constructor is used if this FrameSubscriber is to use the default ORB and clean up a...
Indicates that a null event was returned by FrameSubscriber::retrieveNotification() ...
~FrameSubscriber()
Destructor.
Exception class for errors The exception comes with a text string that can be printed or logged...
Monitor system base class.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
void writeMonitorSystemToIPQ(double currentFireTimeMJD, double delayInSeconds, int clearDelayInFrames)
Write monitor system to IPQ.
Various type definitions for util classes.