6#include <yaclib_std/atomic>
24 void Call()
noexcept final;
26 void Drop()
noexcept final;
28 Node* Mark()
noexcept;
31 yaclib_std::atomic<Node*> _jobs{Mark()};
Callable that can be executed in an IExecutor.
bool Alive() const noexcept final
Return true if executor still alive, that means job passed to submit will be Call.
Type Tag() const noexcept final
Return type of this executor.
void Submit(Job &job) noexcept final
Submit given job.
~Strand() noexcept override
IExecutorPtr MakeStrand(IExecutorPtr e)
Strand is the asynchronous analogue of a mutex.
Contract< V, E > MakeContract()
Creates related future and promise.