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.
- Implements
Properties
- Future first
-
read-only, inheritedReturns the first element of the stream.
- bool isBroadcast
-
read-only, inheritedReports whether this stream is a broadcast stream.
- Future<bool> isEmpty
-
read-only, inheritedReports whether this stream contains any elements.
- Future last
-
read-only, inheritedReturns the last element of the stream.
- Future<int> length
-
read-only, inheritedCounts the elements in the stream.
- SendPort sendPort
-
read-onlyReturns a
SendPort
that sends to this receive port. - Future single
-
read-only, inheritedReturns the single element.
Constructors
- ReceivePort()
- Opens a long-lived port for receiving messages.
- ReceivePort.fromRawReceivePort(RawReceivePort rawPort)
- Creates a ReceivePort from a RawReceivePort.
Methods
-
any(
bool test(T element)) → Future<bool> -
inheritedChecks whether
test
accepts any element provided by this stream. -
asBroadcastStream(
{void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)}) → Stream -
inheritedReturns a multi-subscription stream that produces the same events as this.
-
asyncExpand(
Stream convert(T event)) → Stream -
inheritedCreates a new stream with the events of a stream per original event.
-
asyncMap(
dynamic convert(T event)) → Stream -
inheritedCreates a new stream with each data event of this stream asynchronously mapped to a new event.
-
close(
) → void -
Closes
this
. -
contains(
Object needle) → Future<bool> -
inheritedChecks whether
needle
occurs in the elements provided by this stream. -
distinct(
[bool equals(T previous, T next)]) → Stream -
inheritedSkips data events if they are equal to the previous data event.
-
drain(
[futureValue]) → Future -
inheritedDiscards all data on the stream, but signals when it's done or an error occured.
-
elementAt(
int index) → Future -
inheritedReturns the value of the
index
th data event of this stream. -
every(
bool test(T element)) → Future<bool> -
inheritedChecks whether
test
accepts all elements provided by this stream. -
expand(
Iterable convert(T value)) → Stream -
inheritedCreates a new stream from this stream that converts each element into zero or more events.
-
firstWhere(
bool test(T element), {Object defaultValue()}) → Future -
inheritedFinds the first element of this stream matching
test
. -
fold(
initialValue, dynamic combine(previous, T element)) → Future -
inheritedReduces a sequence of values by repeatedly applying
combine
. -
forEach(
void action(T element)) → Future -
inheritedExecutes
action
on each data event of the stream. -
handleError(
Function onError, {bool test(error)}) → Stream -
inheritedCreates a wrapper Stream that intercepts some errors from this stream.
-
join(
[String separator = ""]) → Future<String> -
inheritedCollects string of data events' string representations.
-
lastWhere(
bool test(T element), {Object defaultValue()}) → Future -
inheritedFinds the last element in this stream matching
test
. -
listen(
void onData(message), {Function onError, void onDone(), bool cancelOnError}) → StreamSubscription - Inherited from Stream.
-
map(
dynamic convert(T event)) → Stream -
inheritedCreates a new stream that converts each element of this stream to a new value using the
convert
function. -
pipe(
StreamConsumer streamConsumer) → Future -
inheritedPipe the events of this stream into
streamConsumer
. -
reduce(
T combine(T previous, T element)) → Future -
inheritedReduces a sequence of values by repeatedly applying
combine
. -
singleWhere(
bool test(T element)) → Future -
inheritedFinds the single element in this stream matching
test
. -
skip(
int count) → Stream -
inheritedSkips the first
count
data events from this stream. -
skipWhile(
bool test(T element)) → Stream -
inheritedSkip data events from this stream while they are matched by
test
. -
take(
int count) → Stream -
inheritedProvides at most the first
n
values of this stream. -
takeWhile(
bool test(T element)) → Stream -
inheritedForwards data events while
test
is successful. -
timeout(
Duration timeLimit, {void onTimeout(EventSink sink)}) → Stream -
inheritedCreates a new stream with the same events as this stream.
-
toList(
) → Future<List> -
inheritedCollects the data of this stream in a List.
-
toSet(
) → Future<Set> -
inheritedCollects the data of this stream in a Set.
-
transform(
StreamTransformer streamTransformer) → Stream -
inheritedChains this stream as the input of the provided StreamTransformer.
-
where(
bool test(T event)) → Stream -
inheritedCreates a new stream from this stream that discards some data events.