17 debug() <<
"Starting sysInitialize for AsynchronousAlgorithm" <<
endmsg;
25 debug() <<
"Starting sysExecute for AsynchronousAlgorithm for event " << ctx <<
endmsg;
39 error() <<
"EXCEPTION MESSAGE IS: " << e.
what() <<
endmsg;
40 if ( m_doAsyncTimeline ) { s_timelineRecorder.reset(
nullptr ); }
46 error() <<
"Resetting slot from fiber_specific_ptr failed" <<
endmsg;
63 error() <<
"Resetting slot from fiber_specific_ptr failed" <<
endmsg;
78 if (
auto sc =
preSuspension(); !sc.isSuccess() ) {
return sc; }
87 fsc = std::invoke( std::move( f ) );
110 boost::this_fiber::yield();
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & debug() const
shortcut for the method msgStream(MSG::DEBUG)
This class represents an entry point to all the event specific data.
SmartIF< IAuditorSvc > & auditorSvc() const
The standard auditor service.May not be invoked before sysInitialize() has been invoked.
bool setAsynchronousTimeline()
StatusCode sysExecute(const EventContext &ctx) override
The actions to be performed by the algorithm on an event.
void setAsynchronous(bool value)
SmartIF< ITimelineSvc > & timelineSvc() const
const std::string & name() const override
The identifying name of the algorithm object.
SmartIF< IHiveWhiteBoard > & whiteboard() const
bool isEnabled() const override
Is this algorithm enabled or disabled?
bool isInitialized() const override
Has the Algorithm already been initialized?
StatusCode sysInitialize() override
Initialization method invoked by the framework.
virtual StatusCode preSuspension() const
Gaudi::Property< bool > m_auditorSuspension
boost::fibers::fiber_specific_ptr< EventContext > s_ctx
Contains current slot.
StatusCode sysExecute(const EventContext &ctx) override
virtual StatusCode restoreAfterSuspend() const
Restore after suspend.
StatusCode yield() const
Forwards to boost::this_fiber::yield.
StatusCode sysInitialize() override
virtual StatusCode postResumption() const
StatusCode decorateSuspension(std::function< StatusCode()> f) const
Decorate a direct call to a suspending (or possibly suspending) function with the necessary pre- and ...
boost::fibers::fiber_specific_ptr< ITimelineSvc::TimelineRecorder > s_timelineRecorder
static const std::string Suspension
Define general base for Gaudi exception.
const char * what() const override
method from std::exception
RAII helper to record timeline events.
virtual bool isEnabled() const =0
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE