CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/EventFilter/SMProxyServer/interface/EventMsg.h

Go to the documentation of this file.
00001 // $Id: EventMsg.h,v 1.3 2011/03/08 18:44:55 mommsen Exp $
00003 
00004 #ifndef EventFilter_SMProxyServer_EventMsg_h
00005 #define EventFilter_SMProxyServer_EventMsg_h
00006 
00007 #include "EventFilter/StorageManager/interface/QueueID.h"
00008 #include "IOPool/Streamer/interface/EventMessage.h"
00009 
00010 #include <boost/shared_ptr.hpp>
00011 #include <vector>
00012 
00013 namespace smproxy {
00014 
00024   class EventMsg
00025   {
00026   public:
00027     
00028     EventMsg();
00029     EventMsg(const EventMsgView&);
00030 
00034     void tagForEventConsumers(const stor::QueueIDs&);
00035 
00039     const stor::QueueIDs& getEventConsumerTags() const;
00040 
00044     unsigned int droppedEventsCount() const;
00045 
00049     void setDroppedEventsCount(unsigned int count);
00050 
00054     size_t memoryUsed() const;
00055     
00059     unsigned long totalDataSize() const;
00060 
00064     unsigned char* dataLocation() const;
00065 
00069     bool empty() const;
00070 
00074     bool faulty() const;
00075 
00076 
00077   private:
00078     typedef std::vector<unsigned char> EventMsgBuffer;
00079     boost::shared_ptr<EventMsgBuffer> buf_;
00080     bool faulty_;
00081     unsigned int droppedEventsCount_;
00082 
00083     stor::QueueIDs queueIDs_;
00084   };
00085   
00086 } // namespace smproxy
00087 
00088 #endif // EventFilter_SMProxyServer_EventMsg_h 
00089 
00090 
00091 
00092 // emacs configuration
00093 // Local Variables: -
00094 // mode: c++ -
00095 // c-basic-offset: 2 -
00096 // indent-tabs-mode: nil -
00097 // End: -