- void* stack_ = nullptr;
-public:
- BoostContext(std::function<void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process);
- ~BoostContext() override;
- void stop() override;
- virtual void resume() = 0;
-
- static BoostContext* getMaestro() { return maestro_context_; }
- static void setMaestro(BoostContext* maestro) { maestro_context_ = maestro; }
-
- friend BoostContextFactory;
-
-private:
- static BoostContext* maestro_context_;
-};
-
-class SerialBoostContext : public BoostContext {
-public:
- SerialBoostContext(std::function<void()> code, void_pfn_smxprocess_t cleanup_func, smx_actor_t process)
- : BoostContext(std::move(code), cleanup_func, process)
- {
- }
- void suspend() override;
- void resume() override;