send method

  1. @override
Future<ResponsePacket> send(
  1. RpcContext context
)

Send an RPC style request and wait for a response (or timeout).

Implementation

@override
Future<ResponsePacket> send(RpcContext context) async {
  final routes = requestResponseRouter[context.message.pattern];
  if (routes == null) {
    return ResponsePacket(
      pattern: context.message.pattern,
      id: context.message.id,
      payload: {'error': 'NO_HANDLER'},
      isError: true,
    );
  }
  final res = await routes(context);
  return ResponsePacket(
    pattern: context.message.pattern,
    id: context.message.id,
    payload: res.payload,
  );
}