EventBusImpl class

Mixed-in types
Implementers

Constructors

EventBusImpl(bool _isModelBus)
Creates an EventBusImpl instance. If isModelBus is true, the bus behaves as a model bus.

Properties

allEventStream → Stream<(EventDTO, bool)>
Stream for all sent events (event DTO, and whether it had a listener or not)
no setterinherited
handlers → EventBusHandlers
Handler management without casting bus as EventBusHandlers.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
isDisposed → bool
true once dispose has been called
no setterinherited
isModelBus → bool
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

addAllHandlerFromOtherBus(EventBus fromBus) → void
Adds all handlers from another EventBus to this one. Nodes are copied: buses don't share state, disposing one doesn't affect the other.
inherited
dispose() → Future<void>
Closes the all-events stream and every node of the bus. Safe to call more than once; after dispose the bus throws StateError on use.
inherited
haveHandler<T>({String? path, String? target}) → bool
Checks if the bus contains a handler for the specified topic.
inherited
haveListener<T>({String? path, String? target}) → bool
Checks if the bus contains a listener for the specified topic.
inherited
lastData<T>({String? path, String? target}) → T?
Gets the last data sent to a specific topic. Returns null if no data has been sent to that topic.
inherited
listen<T>({String? path, String? target}) → Stream<T>
Listens to events on a specific topic. Creates a new EventNode if one doesn't exist for that topic. Returns a Stream of the data type T.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeAllHandlerPresentInOtherBus(EventBus otherBus) → void
Removes all handlers that are present in another EventBus from this one.
inherited
removeHandler<T>({String? path, String? target}) → void
Removes a handler from a specific topic. Disposes of the EventNode if it exists.
inherited
removeNode(Topic topic, EventNode node) → bool
This method is called every time a listener closes the stream. The node is removed if it has no listeners, no handler, and this is not a model bus.
inherited
send<T>(T data, {String? path, String? fragment, String? target, Map<String, String>? arguments}) → Future?
Sends an event to the bus. If a handler exists for the topic, it will be called. Returns a Future that completes with the result if EventDTO.completer was called by the handler. If no handler exists, returns null.
inherited
setHandler<T>({T? initialData, T? initalData, String? path, String? target, required Handler<T> handler}) → void
Sets a handler for a specific topic. If an EventNode already exists for that topic, it updates the handler. Otherwise, it creates a new EventNode with the handler and initial data.
inherited
subscribe<T>({String? path, String? target, void onData(T e)?, Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription<T>
Subscribe to events on a specific topic.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited