CMS 3D CMS Logo

StreamerOutputFile.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_StreamerOutputFile_h
2 #define IOPool_Streamer_StreamerOutputFile_h
3 
7 
9 
12 
15 
17 #include <memory>
18 
19 #include <exception>
20 #include <fstream>
21 #include <iostream>
22 
23 namespace edm::streamer {
28  {
29  public:
30  explicit StreamerOutputFile(const std::string& name, uint32 padding = 0);
35 
36  void write(const InitMsgBuilder&);
41  void write(const InitMsgView&);
42 
43  void writeInitFragment(uint32 fragIndex, uint32 fragCount, const char* dataPtr, uint32 dataSize);
44 
52  uint64 write(const EventMsgView&);
53 
54  uint64 writeEventFragment(uint32 fragIndex, uint32 fragCount, const char* dataPtr, uint32 dataSize);
55 
56  uint32 adler32() const { return streamerfile_->adler32(); }
57 
58  void close() { streamerfile_->close(); }
59 
60  private:
61  void writeEventHeader(const EventMsgView& ineview);
62  void writeStart(const InitMsgView& inview);
63 
64  private:
66  };
67 } // namespace edm::streamer
68 #endif
uint64 writeEventFragment(uint32 fragIndex, uint32 fragCount, const char *dataPtr, uint32 dataSize)
void write(const InitMsgBuilder &)
void writeEventHeader(const EventMsgView &ineview)
void writeStart(const InitMsgView &inview)
StreamerOutputFile(const std::string &name, uint32 padding=0)
unsigned long long uint64
Definition: MsgTools.h:15
void writeInitFragment(uint32 fragIndex, uint32 fragCount, const char *dataPtr, uint32 dataSize)
edm::propagate_const< std::shared_ptr< edm::streamer::OutputFile > > streamerfile_
unsigned int uint32
Definition: MsgTools.h:14