Expand description
Definitions for live collections, which offer the core APIs for writing distributed applications.
Traditional programs (like those in Rust) typically manipulate collections of data elements,
such as those stored in a Vec or HashMap. These collections are fixed in the sense that
any transformations applied to them such as map are immediately executed on a snapshot of the
collection. This means that the output will not be updated when the input collection is modified.
In Hydro, programs instead work with live collections which are expected to dynamically
change over time as new elements are added or removed (in response to API requests, streaming
ingestion, etc). Applying a transformation like map to a live collection results in another live
collection that will dynamically change over time. All network inputs and outputs in Hydro are
handled via live collections, so the majority of application logic written with Hydro will involve
manipulating live collections.
See the Hydro docs for more.
Modules§
- boundedness
- Type declarations for boundedness markers, which indicate whether a live collection is finite
and immutable (
Bounded) or asynchronously arriving over time (Unbounded). - keyed_
singleton - Definitions for the
KeyedSingletonlive collection. - keyed_
stream - Definitions for the
KeyedStreamlive collection. - optional
- Definitions for the
Optionallive collection. - singleton
- Definitions for the
Singletonlive collection. - stream
- Definitions for the
Streamlive collection.
Structs§
- Keyed
Singleton - Mapping from keys of type
Kto values of typeV. - Keyed
Stream - Streaming elements of type
Vgrouped by a key of typeK. - Optional
- A nullable Rust value that can asynchronously change over time.
- Singleton
- A single Rust value that can asynchronously change over time.
- Stream
- Streaming sequence of elements with type
Type.