5#ifndef ATHENAPOOLCNVSVC_ATHENAPOOLSHAREDIOCNVSVC_H
6#define ATHENAPOOLCNVSVC_ATHENAPOOLSHAREDIOCNVSVC_H
35 virtual StatusCode
finalize()
override;
40 virtual StatusCode
connectOutput(
const std::string& outputConnectionSpec,
41 const std::string& openMode)
override;
46 virtual StatusCode
connectOutput(
const std::string& outputConnectionSpec)
override;
50 virtual StatusCode
commitOutput(
const std::string& outputConnectionSpec,
bool doCommit)
override;
53 virtual StatusCode
disconnectOutput(
const std::string& outputConnectionSpec)
override;
73 const std::string* par,
74 const unsigned long* ip,
75 IOpaqueAddress*& refpAddress)
override;
84 const std::string& refAddress,
85 IOpaqueAddress*& refpAddress)
override;
88 virtual StatusCode
makeServer(
int num)
override;
91 virtual StatusCode
makeClient(
int num)
override;
94 virtual StatusCode
readData()
override;
104 virtual void handle(
const Incident& incident)
override;
122 Gaudi::Property<std::vector<std::string>>
m_metadataContainersAug{
this,
"OutputMetadataContainers", {},
"Metadata containers used for augmentations"};
This file contains the class definition for the AthenaPoolCnvSvc class.
uint32_t CLID
The Class ID type.
virtual StatusCode commitOutput(const std::string &outputConnectionSpec, bool doCommit) override
Implementation of IConversionSvc: Commit pending output.
Gaudi::Property< std::string > m_streamPortString
Extension to use ROOT TMemFile for event data, "?pmerge=<host>:<port>".
virtual StatusCode finalize() override
Required of all Gaudi Services.
AthenaPoolSharedIOCnvSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
virtual void setObjPtr(void *&obj, const Token *token) override
bool m_streamServerActive
StatusCode createAddress(long svcType, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress) override
Create a Generic address using explicit arguments to identify a single object.
StatusCode abortSharedWrClients(int client_n)
Send abort to SharedWriter clients if the server quits on error.
virtual StatusCode makeServer(int num) override
Make this a server.
virtual void handle(const Incident &incident) override
Implementation of IIncidentListener: Handle for EndEvent incidence.
Gaudi::Property< std::string > m_metadataContainerProp
For SharedWriter: To use MetadataSvc to merge data placed in a certain container.
virtual StatusCode disconnectOutput(const std::string &outputConnectionSpec) override
Disconnect to the output connection.
virtual StatusCode readData() override
Read the next data object.
virtual StatusCode commitCatalog() override
Commit Catalog.
virtual StatusCode connectOutput(const std::string &outputConnectionSpec, const std::string &openMode) override
Implementation of IConversionSvc: Connect to the output connection specification with open mode.
Gaudi::Property< std::vector< std::string > > m_metadataContainersAug
Gaudi::Property< bool > m_parallelCompression
Use Athena Object sharing for metadata only, event data is collected and send via ROOT TMemFile.
ToolHandle< IAthenaIPCTool > m_outputStreamingTool
Gaudi::Property< int > m_streamingTechnology
Use Streaming for selected technologies only.
virtual StatusCode initialize() override
Required of all Gaudi Services.
ToolHandle< IAthenaIPCTool > m_inputStreamingTool
virtual ~AthenaPoolSharedIOCnvSvc()=default
Destructor.
ServiceHandle< IAthenaSerializeSvc > m_serializeSvc
virtual Token * registerForWrite(Placement *placement, const void *obj, const RootType &classDesc) override
Gaudi::Property< int > m_makeStreamingToolClient
Make this instance a Streaming Client during first connect/write automatically.
virtual StatusCode makeClient(int num) override
Make this a client.
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
This class holds all the necessary information to guide the writing of an object in a physical place.
This class provides a token that identifies in a unique way objects on the persistent storage.