ReceivePort class

Together with SendPort, the only means of communication between isolates.

ReceivePorts have a sendPort getter which returns a SendPort. Any message that is sent through this SendPort is delivered to the ReceivePort it has been created from. There, the message is dispatched to the ReceivePort's listener.

A ReceivePort is a non-broadcast stream. This means that it buffers incoming messages until a listener is registered. Only one listener can receive messages. See Stream.asBroadcastStream for transforming the port to a broadcast stream.

A ReceivePort may have many SendPorts.

Implemented types

Constructors

ReceivePort([String debugName = ''])
factory
Opens a long-lived port for receiving messages. [...]
ReceivePort.fromRawReceivePort(RawReceivePort rawPort)
factory
Creates a ReceivePort from a RawReceivePort. [...]

Properties

firstFuture
read-only, inherited
The first element of this stream. [...]
hashCodeint
read-only, inherited
The hash code for this object. [...]
isBroadcastbool
read-only, inherited
Whether this stream is a broadcast stream.
isEmptyFuture<bool>
read-only, inherited
Whether this stream contains any elements. [...]
lastFuture
read-only, inherited
The last element of this stream. [...]
lengthFuture<int>
read-only, inherited
The number of elements in this stream. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.
sendPortSendPort
read-only
A SendPort which sends messages to this receive port.
singleFuture
read-only, inherited
The single element of this stream. [...]

Methods

any(bool test(dynamic element)) → Future<bool>
inherited
Checks whether test accepts any element provided by this stream. [...]
asBroadcastStream({void onListen(StreamSubscription subscription), void onCancel(StreamSubscription subscription)}) → Stream
inherited
Returns a multi-subscription stream that produces the same events as this. [...]
asyncExpand<E>(Stream<E>? convert(dynamic event)) → Stream<E>
inherited
Transforms each element into a sequence of asynchronous events. [...]
asyncMap<E>(FutureOr<E> convert(dynamic event)) → Stream<E>
inherited
Creates a new stream with each data event of this stream asynchronously mapped to a new event. [...]
cast<R>() → Stream<R>
inherited
Adapt this stream to be a Stream<R>. [...]
close() → void
Closes the receive port. [...]
contains(Object? needle) → Future<bool>
inherited
Returns whether needle occurs in the elements provided by this stream. [...]
distinct([bool equals(dynamic previous, dynamic next)]) → Stream
inherited
Skips data events if they are equal to the previous data event. [...]
drain<E>([E? futureValue]) → Future<E>
inherited
Discards all data on this stream, but signals when it is done or an error occurred. [...]
elementAt(int index) → Future
inherited
Returns the value of the indexth data event of this stream. [...]
every(bool test(dynamic element)) → Future<bool>
inherited
Checks whether test accepts all elements provided by this stream. [...]
expand<S>(Iterable<S> convert(dynamic element)) → Stream<S>
inherited
Transforms each element of this stream into a sequence of elements. [...]
firstWhere(bool test(dynamic element), {dynamic orElse()}) → Future
inherited
Finds the first element of this stream matching test. [...]
fold<S>(S initialValue, S combine(S previous, dynamic element)) → Future<S>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
forEach(void action(dynamic element)) → Future
inherited
Executes action on each element of this stream. [...]
handleError(Function onError, {bool test(dynamic error)}) → Stream
inherited
Creates a wrapper Stream that intercepts some errors from this stream. [...]
join([String separator = ""]) → Future<String>
inherited
Combines the string representation of elements into a single string. [...]
lastWhere(bool test(dynamic element), {dynamic orElse()}) → Future
inherited
Finds the last element in this stream matching test. [...]
listen(void onData(dynamic message), {Function? onError, void onDone(), bool? cancelOnError}) → StreamSubscription
override
Listen for events from Stream. [...]
map<S>(S convert(dynamic event)) → Stream<S>
inherited
Transforms each element of this stream into a new stream event. [...]
noSuchMethod(Invocation invocation) → dynamic
inherited
Invoked when a non-existent method or property is accessed. [...]
pipe(StreamConsumer streamConsumer) → Future
inherited
Pipes the events of this stream into streamConsumer. [...]
reduce(dynamic combine(dynamic previous, dynamic element)) → Future
inherited
Combines a sequence of values by repeatedly applying combine. [...]
singleWhere(bool test(dynamic element), {dynamic orElse()}) → Future
inherited
Finds the single element in this stream matching test. [...]
skip(int count) → Stream
inherited
Skips the first count data events from this stream. [...]
skipWhile(bool test(dynamic element)) → Stream
inherited
Skip data events from this stream while they are matched by test. [...]
take(int count) → Stream
inherited
Provides at most the first count data events of this stream. [...]
takeWhile(bool test(dynamic element)) → Stream
inherited
Forwards data events while test is successful. [...]
timeout(Duration timeLimit, {void onTimeout(EventSink sink)}) → Stream
inherited
Creates a new stream with the same events as this stream. [...]
toList() → Future<List>
inherited
Collects all elements of this stream in a List. [...]
toSet() → Future<Set>
inherited
Collects the data of this stream in a Set. [...]
toString() → String
inherited
A string representation of this object. [...]
transform<S>(StreamTransformer<dynamic, S> streamTransformer) → Stream<S>
inherited
Applies streamTransformer to this stream. [...]
where(bool test(dynamic event)) → Stream
inherited
Creates a new stream from this stream that discards some elements. [...]

Operators

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

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-isolate/ReceivePort-class.html