send method

  1. @override
Future<Message> send(
  1. Message request
)
override

Implementation

@override
Future<Message> send(Message request) async {
  Message? messageFromProto;

  dynamic response;

  try {
    response = await methodChannel.invokeMethod(
      'rpc',
      request.writeToBuffer(),
    );
  } catch (e, s) {
    log('send:', name: _tag, stackTrace: s, error: e);
    throw ChannelInvokeException();
  }

  if (response == null) {
    throw ChannelInvalidAnswerException();
  }

  try {
    messageFromProto = Message.fromBuffer(response);
  } catch (_) {
    throw ProtoBufferException();
  }

  return messageFromProto;
}