/** * Handle incoming data * * @param peer.Socket socket * @param peer.server.ServerProtocol protocol * @param int type * @param string data */ public function handle($socket, $protocol, $type, $data) { try { $handler = EascMessageFactory::forType($type); $handler->handle($protocol, $data); $response = EascMessageFactory::forType(REMOTE_MSG_VALUE); $response->setValue($handler->getValue()); } catch (Throwable $e) { $response = EascMessageFactory::forType(REMOTE_MSG_EXCEPTION); $response->setValue($e); } $protocol->answerWithMessage($socket, $response); }