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
-
first →
Future
read-only, inherited
- The first element of this stream.
-
hashCode →
int
read-only, inherited
- The hash code for this object.
-
isBroadcast →
bool
read-only, inherited
- Whether this stream is a broadcast stream.
-
isEmpty →
Future<
bool> read-only, inherited - Whether this stream contains any elements.
-
last →
Future
read-only, inherited
- The last element of this stream.
-
length →
Future<
int> read-only, inherited - The number of elements in this stream.
-
runtimeType →
Type
read-only, inherited
- A representation of the runtime type of the object.
-
sendPort →
SendPort
read-only
- A SendPort which sends messages to this receive port.
-
single →
Future
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
index
th 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.17.0/dart-isolate/ReceivePort-class.html