waitForMessage method
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.",
),
);
}