bind method

  1. @override
Future<void> bind({
  1. required HubRequestHandler onRequest,
  2. ConnectionHandler? onUpgrade,
})

Binds and starts listening.

onRequest handles ordinary requests; onUpgrade, when provided, handles WebSocket upgrade requests (the transport performs the upgrade and hands over the Connection). Pass port: 0 (in the constructor) to bind an ephemeral port and read port afterwards.

Implementation

@override
Future<void> bind({
  required HubRequestHandler onRequest,
  ConnectionHandler? onUpgrade,
}) async {
  if (_server != null) {
    throw const TransportException('Transport is already bound');
  }
  _onRequest = onRequest;
  _onUpgrade = onUpgrade;
  await _bindOn(_requestedPort);
}