00001 // $Id: DQMEventMsg.cc,v 1.2 2011/03/07 15:41:54 mommsen Exp $ 00003 00004 #include "EventFilter/SMProxyServer/interface/DQMEventMsg.h" 00005 00006 00007 namespace smproxy 00008 { 00009 00010 DQMEventMsg::DQMEventMsg() : 00011 faulty_(true) 00012 {} 00013 00014 00015 DQMEventMsg::DQMEventMsg(const DQMEventMsgView& dqmEventMsgView) : 00016 faulty_(false) 00017 { 00018 buf_.reset( new DQMEventMsgBuffer(dqmEventMsgView.size()) ); 00019 std::copy( 00020 dqmEventMsgView.startAddress(), 00021 dqmEventMsgView.startAddress()+dqmEventMsgView.size(), 00022 &(*buf_)[0] 00023 ); 00024 dqmKey_.runNumber = dqmEventMsgView.runNumber(); 00025 dqmKey_.lumiSection = dqmEventMsgView.lumiSection(); 00026 dqmKey_.topLevelFolderName = dqmEventMsgView.topFolderName(); 00027 } 00028 00029 00030 void DQMEventMsg::tagForDQMEventConsumers(const stor::QueueIDs& queueIDs) 00031 { 00032 queueIDs_ = queueIDs; 00033 } 00034 00035 00036 const stor::QueueIDs& DQMEventMsg::getDQMEventConsumerTags() const 00037 { 00038 return queueIDs_; 00039 } 00040 00041 00042 const stor::DQMKey& DQMEventMsg::dqmKey() const 00043 { 00044 return dqmKey_; 00045 } 00046 00047 00048 size_t DQMEventMsg::memoryUsed() const 00049 { 00050 return sizeof(buf_); 00051 } 00052 00053 00054 unsigned long DQMEventMsg::totalDataSize() const 00055 { 00056 return buf_->size(); 00057 } 00058 00059 00060 unsigned char* DQMEventMsg::dataLocation() const 00061 { 00062 return &(*buf_)[0]; 00063 } 00064 00065 00066 bool DQMEventMsg::empty() const 00067 { 00068 return (buf_.get() == 0); 00069 } 00070 00071 00072 bool DQMEventMsg::faulty() const 00073 { 00074 return faulty_; 00075 } 00076 00077 } // namespace smproxy 00078