ATLAS Offline Software
Loading...
Searching...
No Matches
WebdaqInfoSvc::Holder Struct Reference

One entry per registered IS object. More...

Collaboration diagram for WebdaqInfoSvc::Holder:

Public Attributes

std::shared_ptr< hltinterface::GenericHLTContainer > cont
 The producer container. The service only ever reads it.
std::string fullName
 Name to publish under: publish path + container object name.
std::string typeName
 IS type name.
nlohmann::json snapshot
 JSON image of the container, rebuilt on every endEvent() and shipped by the publishing thread.
std::mutex mtx
 Protects snapshot only. It is written by the event thread in endEvent() and read by the publishing thread.
std::atomic< bool > dirty {false}
 Set when a new snapshot is stored, and claimed by the publishing thread so a snapshot is published once.

Detailed Description

One entry per registered IS object.

The container is written by the producer and read by the service only inside endEvent(), i.e. on the producer's own thread. The publishing thread never touches it, it only ever reads snapshot.

Definition at line 23 of file WebdaqInfoSvc.cxx.

Member Data Documentation

◆ cont

std::shared_ptr<hltinterface::GenericHLTContainer> WebdaqInfoSvc::Holder::cont

The producer container. The service only ever reads it.

Definition at line 25 of file WebdaqInfoSvc.cxx.

◆ dirty

std::atomic<bool> WebdaqInfoSvc::Holder::dirty {false}

Set when a new snapshot is stored, and claimed by the publishing thread so a snapshot is published once.

It is set again if the publication fails, so that the next cycle retries it.

Definition at line 36 of file WebdaqInfoSvc.cxx.

36{false};

◆ fullName

std::string WebdaqInfoSvc::Holder::fullName

Name to publish under: publish path + container object name.

Definition at line 27 of file WebdaqInfoSvc.cxx.

◆ mtx

std::mutex WebdaqInfoSvc::Holder::mtx

Protects snapshot only. It is written by the event thread in endEvent() and read by the publishing thread.

Definition at line 33 of file WebdaqInfoSvc.cxx.

◆ snapshot

nlohmann::json WebdaqInfoSvc::Holder::snapshot

JSON image of the container, rebuilt on every endEvent() and shipped by the publishing thread.

Definition at line 31 of file WebdaqInfoSvc.cxx.

◆ typeName

std::string WebdaqInfoSvc::Holder::typeName

IS type name.

Definition at line 29 of file WebdaqInfoSvc.cxx.


The documentation for this struct was generated from the following file: