Streams¶
casty.stream_producer(*, buffer_size=0)
¶
Buffered, demand-gated element source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
buffer_size
|
int
|
Maximum number of buffered elements. |
0
|
Story
|
|
required |
casty.stream_consumer(producer, *, timeout=30.0, initial_demand=16)
¶
Subscription mediator between a stream_producer and a SourceRef.
Story: waiting → active → stopped.
casty.SinkRef
¶
Input-side handle for pushing elements into a stream_producer.
Obtained via GetSink. Backed by the producer's internal
asyncio.Queue — put blocks when the buffer is full,
providing input-side backpressure.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
queue
|
Queue[E]
|
The producer's internal bounded queue. |
required |
producer
|
ActorRef[StreamProducerMsg[E]]
|
Ref to the producer actor, used to nudge it after each put. |
required |
casty.SourceRef
¶
Async iterator over a stream with automatic demand replenishment.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
queue
|
Queue[StreamElement[E] | StreamCompleted]
|
Internal queue fed by the consumer actor's receive handler. |
required |
cancel
|
Callable[[], None]
|
Callback to send |
required |
timeout
|
float
|
Inactivity timeout in seconds before the stream ends. |
required |
request_demand
|
Callable[[int], None]
|
Callback to send |
required |