/**
* {@inheritdoc}
*/
public function dispatch(ConnectionInterface $conn, $name, array $message, array $options, ConnectionContextInterface $context)
{
if (!array_key_exists($name, $this->handlers)) {
throw new HandlerNotFoundException($name);
}
$error = false;
try {
$message = $this->handlers[$name]->handle($conn, $message, $context);
} catch (MessageHandlerException $ex) {
$message = $ex->getResponseMessage();
$error = true;
}
return $this->messageBuilder->build($name, $message, $options, $error);
}