File indexing completed on 2023-03-17 11:10:27
0001 #ifndef IOPool_Streamer_InitMsgBuilder_h
0002 #define IOPool_Streamer_InitMsgBuilder_h
0003
0004 #include "IOPool/Streamer/interface/MsgTools.h"
0005 #include "IOPool/Streamer/interface/InitMessage.h"
0006
0007
0008
0009 class InitMsgBuilder {
0010 public:
0011 InitMsgBuilder(void* msg_mem,
0012 uint32 size,
0013 uint32 run,
0014 const Version& v,
0015 const char* release_tag,
0016 const char* process_name,
0017 const char* output_module_label,
0018 uint32 output_module_id,
0019 const Strings& hlt_names,
0020 const Strings& hlt_selections,
0021 const Strings& l1_names,
0022 uint32 adler32_chksum);
0023
0024 uint8* startAddress() const { return buf_; }
0025 void setDataLength(uint32 registry_length);
0026 uint8* dataAddress() const { return data_addr_; }
0027 uint32 headerSize() const { return data_addr_ - buf_; }
0028 uint32 size() const;
0029 uint32 run() const;
0030 uint32 bufferSize() const { return size_; }
0031
0032 private:
0033 uint8* buf_;
0034 uint32 size_;
0035 uint8* data_addr_;
0036 };
0037
0038 #endif