Go to the documentation of this file.
24 msg() <<
MSG::DEBUG <<
"Starting sysExecute for AsynchronousAlgorithm on slot " <<
ctx.slot()
25 <<
"with s_currentSlot = " << fmt::to_string( fmt::ptr( s_currentSlot.get() ) ) <<
endmsg;
26 if ( s_currentSlot.get() ==
nullptr ) {
28 }
else if ( *s_currentSlot !=
ctx.slot() ) {
29 error() <<
"Current slot is " <<
ctx.slot() <<
" but s_currentSlot exists and is " << *s_currentSlot <<
endmsg;
34 error() <<
"EXCEPTION MESSAGE IS: " << e.
what() <<
endmsg;
39 if ( !
whiteboard()->selectStore( *s_currentSlot ).isSuccess() ) {
47 boost::this_fiber::yield();
48 return restoreAfterSuspend();
StatusCode sysExecute(const EventContext &ctx) override
The actions to be performed by the algorithm on an event.
StatusCode sysInitialize() override
Initialization method invoked by the framework.
virtual StatusCode restoreAfterSuspend() const
Restore after suspend.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
constexpr static const auto SUCCESS
StatusCode sysExecute(const EventContext &ctx) override
StatusCode sysInitialize() override
constexpr static const auto FAILURE
StatusCode yield() const
Forwards to boost::this_fiber::yield.
const char * what() const override
method from std::exception
void setAsynchronous(bool value)