Belle II Software  release-08-01-10
GetEventFromSocket.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef GET_EVENT_FROM_SOCKET_MODULE_H
10 #define GET_EVENT_FROM_SOCKET_MODULE_H
11 
12 #include <framework/core/Module.h>
13 #include <daq/dataflow/EvtSocket.h>
14 
15 #include <string>
16 
17 #include <framework/pcore/DataStoreStreamer.h>
18 
19 namespace Belle2 {
28 
29  // Public functions
30  public:
31 
34  virtual ~GetEventFromSocketModule();
35 
37  virtual void initialize();
38 
40  virtual void beginRun();
41  virtual void event();
42  virtual void endRun();
43  virtual void terminate();
44 
45  private:
46  EvtMessage* receive();
47 
48  // Data members
49  private:
50 
52  std::vector<std::string> m_hosts;
53  std::vector<int> m_ports;
54 
56  std::vector<EvtSocketSend*> m_socks;
57 
60 
63 
65  int m_nrecv;
66 
67  };
68 
70 } // end namespace Belle2
71 
72 #endif // MODULEHELLO_H
Stream/restore DataStore objects to/from EvtMessage.
Class to manage streamed object.
Definition: EvtMessage.h:59
A class definition of an input module for Sequential ROOT I/O.
virtual void event()
This method is the core of the module.
DataStoreStreamer * m_streamer
DataStoreStreamer.
virtual void initialize()
Module functions to be called from main process.
virtual void beginRun()
Module functions to be called from event process.
GetEventFromSocketModule()
Constructor / Destructor.
virtual void terminate()
This method is called at the end of the event processing.
virtual void endRun()
This method is called if the current run ends.
std::vector< EvtSocketSend * > m_socks
Reciever Socket.
int m_compressionLevel
Compression Level.
std::vector< std::string > m_hosts
Receiver Port.
Base class for Modules.
Definition: Module.h:72
Abstract base class for different kinds of events.