Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-31 04:19:41

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 // ----------------- init -------------------
0008 namespace edm::streamer {
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; /** Required by EOF Record Builder */
0030     uint32 bufferSize() const { return size_; }
0031 
0032   private:
0033     uint8* buf_;
0034     uint32 size_;
0035     uint8* data_addr_;
0036   };
0037 }  // namespace edm::streamer
0038 #endif