Unbounded channels are buffered channels that do not have an upper bound on the number of items in the channel. In other words, the buffer is treated as never being full and will expand as needed.
See UnboundedChannel$.apply for creation of unbounded channels.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait BufferedChannel[T]trait Channel[T]trait Closeabletrait AutoCloseabletrait ReadableChannel[T]trait SendableChannel[T]class Objecttrait Matchableclass AnyShow all
Members list
Value members
Abstract methods
Sends the item immediately.
Inherited methods
Restrict this channel to close-only.
Restrict this channel to read-only.
Restrict this channel to send-only.
Read an item from the channel, suspending until the item has been received. Returns Failure(ChannelClosedException)
if the channel was closed.
Read an item from the channel, suspending until the item has been received. Returns Failure(ChannelClosedException)
if the channel was closed.
Attributes
- Inherited from:
- ReadableChannel
Send x
over the channel, suspending until the item has been sent or, if the channel is buffered, queued.
Send x
over the channel, suspending until the item has been sent or, if the channel is buffered, queued.
Attributes
- Throws
-
ChannelClosedException
if the channel was closed.
- Inherited from:
- SendableChannel
Inherited and Abstract methods
Attributes
- Inherited from:
- Closeable
Create an Async.Source representing the send action of value x
.
Create an Async.Source representing the send action of value x
.
Note that each listener attached to and accepting an Unit value corresponds to x
being sent once.
To create an Async.Source that sends the item exactly once regardless of listeners attached, wrap the send operation inside a gears.async.Future:
val sendOnce = Future(ch.send(x))
Attributes
- Returns
-
an Async.Source that resolves with
Right(())
whenx
is sent to the channel, orLeft(Closed)
if the channel is already closed. This source will perform a send operation every time a listener is attached to it, or every time it is Async$.awaited on. - Inherited from:
- SendableChannel
Inherited and Abstract fields
An Async.Source corresponding to items being sent over the channel. Note that each listener attached to and accepting a Right value corresponds to one value received over the channel.
An Async.Source corresponding to items being sent over the channel. Note that each listener attached to and accepting a Right value corresponds to one value received over the channel.
To create an Async.Source that reads exactly one item regardless of listeners attached, wrap the read operation inside a gears.async.Future.
val readOnce = Future(ch.read(x))
Attributes
- Inherited from:
- ReadableChannel