listen<TEvent> method

void listen<TEvent>(
  1. HubEventSocket<TEvent> hubSocket,
  2. FutureOr<void> listener(
    1. TEvent event
    ), {
  3. int? prefetch,
})

Subscribes to a HubEventSocket.

Subscribing twice inside of the same service (even across instances) will result in competing consumers. The service is identified via the config value datahub.serviceName.

Implementation

void listen<TEvent>(
  HubEventSocket<TEvent> hubSocket,
  FutureOr<void> Function(TEvent event) listener, {
  int? prefetch,
}) {
  final stream = hubSocket.getStream(prefetch: prefetch);
  _listenStream(
    stream,
    listener,
    prefetch,
    () => listen(
      hubSocket,
      listener,
      prefetch: prefetch,
    ),
  );
}