/** {@inheritdoc} */
 public function invokeEvent(Event $event)
 {
     switch ($event->getType()) {
         case EventType::INITIALIZE:
             $this->onSocketRequestInitialize();
             break;
         case EventType::FINALIZE:
             $this->onSocketRequestFinalize();
             break;
     }
 }
 /** {@inheritdoc} */
 public function invokeEvent(Event $event)
 {
     switch ($event->getType()) {
         case EventType::DATA_ALERT:
             /** @var DataAlertEvent $event */
             $this->onDataAlert($event);
             break;
         case EventType::READ:
             /** @var ReadEvent $event */
             $this->onRead($event);
             break;
         default:
             $this->callNextHandler($event);
     }
 }
 /** {@inheritdoc} */
 public function invokeEvent(Event $event)
 {
     $eventName = $event->getType();
     $subscribers = isset($this->handlers[$eventName]) ? $this->handlers[$eventName] : [];
     foreach ($subscribers as $subscriber) {
         call_user_func($subscriber, $event);
     }
 }