publish method

  1. @override
Future publish(
  1. String eventName,
  2. dynamic value
)
override

Publishes an event to the server.

Implementation

@override
Future publish(String eventName, value) {
  return _whenConnected(() {
    var c = Completer<Map>();
    var requestId = _uuid.v4();
    _requests[requestId] = c;
    serverSendPort.send(
      MessageHandler().encodePublishRequestMessage(
        _id,
        requestId,
        clientId,
        eventName,
        value,
      ),
    );

    return c.future.then((result) {
      var (_, clientId) = MessageHandler().decodePublishResponseMessage(
        result as Map<String, Object?>,
      );
      _clientId = clientId;
    });
  });
}