Повысить asynchronous_state_machine

Можно ли получить ссылку на планировщик из processor_handle для asynchronous_state_machine?

Код:

struct A {
    A(sc::fifo_scheduler<>::processor_handle& h):player_ref(h){}
    sc::fifo_scheduler<>::processor_handle& player_ref;
    void a_func(){
       //I have to send event to player, but don't have scheduler
       scheduler.queue_event( player_ref_, ... ); //?
    }
};

sc::fifo_scheduler<> scheduler( true );
sc::fifo_scheduler<>::processor_handle player = 
    scheduler1.create_processor< Player >();
A a(player); 

1 ответ

Нет не сейчас По своей природе существование объекта processor_handle не гарантирует существование планировщика, в котором размещен процессор.

Итак, в вашем сценарии вы должны передать планировщик в конструктор A и сохранить его в элементе данных.

Другие вопросы по тегам