Prooph\ServiceBus\Plugin\Router\AsyncSwitchMessageRouter::attach PHP Method

attach() public method

public attach ( Prooph\Common\Event\ActionEventEmitter $events ) : void
$events Prooph\Common\Event\ActionEventEmitter
return void
    public function attach(ActionEventEmitter $events)
    {
        $this->trackHandler($events->attachListener(MessageBus::EVENT_ROUTE, [$this, "onRouteMessage"]));
    }

Usage Example

 /**
  * @test
  */
 public function it_sets_message_producer_as_message_handler_on_dispatch_initialize()
 {
     $actionEventEmitter = $this->prophesize(ActionEventEmitter::class);
     $listenerHandler = $this->prophesize(ListenerHandler::class);
     $messageProducer = $this->prophesize(MessageProducer::class);
     $router = new AsyncSwitchMessageRouter(new SingleHandlerRouter(), $messageProducer->reveal());
     $actionEventEmitter->attachListener(MessageBus::EVENT_ROUTE, [$router, 'onRouteMessage'])->willReturn($listenerHandler->reveal())->shouldBeCalled();
     $router->attach($actionEventEmitter->reveal());
 }