handleSessionEvent method

  1. @protected
  2. @override
FutureOr<void> handleSessionEvent(
  1. SessionEvent event
)
override

Handle a SessionEvent from one of this host's sessions.

The base handles the events every mode shares (SessionEventType). Overrides deal with their own protocol's events first and forward the rest with super.handleSessionEvent(event).

Implementation

@protected
@override
FutureOr<void> handleSessionEvent(SessionEvent event) async {
  if (event is RelaySessionEvent) {
    switch (event.type) {
      case RelaySessionEventType.relayJoined:
        return _handleSessionEventJoined(event as RelaySessionEventJoined);

      case RelaySessionEventType.relayChangesPushed:
        return _handleSessionEventChangesPushed(
          event as RelaySessionEventChangesPushed,
        );

      case RelaySessionEventType.relaySnapshotUploaded:
        return _handleSessionEventSnapshotUploaded(
          event as RelaySessionEventSnapshotUploaded,
        );
    }
  }

  return super.handleSessionEvent(event);
}