start method

Future<void> start(
  1. String host,
  2. int port
)

Implementation

Future<void> start(String host, int port) async {
  var server = await HttpServer.bind(host, port);

  await for (final request in server) {
    var webSocket = await WebSocketTransformer.upgrade(
      request,
      protocolSelector: (supportedProtocols) => protocolSelector(request),
    );

    WAMPSessionAcceptor acceptor = WAMPSessionAcceptor();
    BaseSession baseSession = await acceptor.accept(webSocket);
    _router.attachClient(baseSession);

    _handleWebSocket(baseSession, webSocket);
    acceptor.wsStreamSubscription.onDone(() {
      _router.detachClient(baseSession);
    });
  }
}