waitForMessage method

Future<Message> waitForMessage(
  1. Message message
)

Wait for an expected message to arrive.

Used internally when expecting a message like a heartbeat reply, a join reply, etc. If you need to wait for the reply of message you sent on a channel, you would usually use wait the returned Push.future.

Implementation

Future<Message> waitForMessage(Message message) {
  if (message.ref == null) {
    throw ArgumentError.value(
      message,
      'message',
      'needs to contain a ref in order to be awaited for',
    );
  }
  final msg = _pendingMessages[message.ref!];
  if (msg != null) {
    return msg.future;
  }
  return Future.error(
    ArgumentError(
      "Message hasn't been sent using this socket.",
    ),
  );
}