Streams / Overview

Pantomime provides a powerful streaming library that is built on top of its actor API.

Inspired by the Reactive Streams initiative, Pantomime Streams is a dynamic push-pull streaming abstraction that uses actors as the primary concurrency mechanism.

Concepts

To understand Pantomime Streams, a few key concepts and terms must be introduced. You'll find the following terms referenced throughout the documentation.

Stage
The basic building block is a stage which has a variable number of inputs and outputs.
Source
An originating stage that has zero inputs and one output, its downstream.
Flow
A processing stage that has one input (upstream) and one output (downstream).
Sink
A terminating stage that has one input (upstream) and zero outputs.
Backpressure & Demand
Downstream sends asynchronous demand signals upstream indicating that it wishes to receive more elements. This prevents the producer from overloading the consumer, a concept known as backpressure. Efficiency is retained by inserting buffers between asynchronous boundaries to amortize message passing overhead