Expand description
Runtime helpers for the embedded deployment backend.
This module is NOT gated on the build feature so that the staged
re-exports are available at runtime in the generated code.
Structs§
- Acknowledgements
- What a host acknowledges about a stream the dataflow provides (an output, or the stream sent
on a network channel): each way it may be weaker than ordered and exactly-once. The stream’s
type already says what it may do, so an acknowledgement needs no justification: calling it is
the host’s agreement, and a stream that becomes weaker fails the host’s build until the host
acknowledges the change. An
EmbeddedOutputChannelorEmbeddedNetworkOutputChannelis built from a sink and theAcknowledgementsthat cover what its marker’s stream may do. - Channel
Configuration - The configuration of a network channel as the host acknowledges it: the transport
Trand serializationSof its network config, which must match the channel’s exactly (seeEmbeddedNetworkChannel). It is built from the same network config value the dataflow sends with; the config’s name is ignored. - Embedded
Input Channel - A channel flowing into an embedded dataflow, as the host provides it: a
Streamfor a stream input or a membership stream, for the channelC(its generated marker type, seeEmbeddedChannel). The receiving end of a network channel is aEmbeddedNetworkInputChannelinstead. - Embedded
Network Input Channel - The receiving end of a network channel, as the host provides it: a
Streamof the messages its transport delivers, for the channel endC(its generated marker type, underincoming). - Embedded
Network Output Channel - The sending end of a network channel, as the host provides it: an
FnMutsink that hands each message to the host’s transport, for the channel endC(its generated marker type, underoutgoing). - Embedded
Output Channel - An output of an embedded dataflow, as the host provides it: an
FnMutsink for the channelM(its generated marker type, underoutputs), whoseEmbeddedChannelguarantees are what the dataflow’s output stream provides. - Promises
- What a host promises about something it supplies, each guarantee promised separately with
a
manual_proof!saying why it holds. AnEmbeddedInputChannelorEmbeddedNetworkInputChannelis built from a stream and thePromisesthat meet its marker’s guarantees.
Traits§
- Acknowledged
By - An output whose guarantees acknowledgements of ordering
Oand retriesRcover: each acknowledged guarantee is weaker than (or the same as) the one the output provides. It is whatEmbeddedOutputChannel::newrequires. - Configured
As - A network channel end whose configuration is exactly the acknowledged transport
Trand serializationS. Each part is checked separately, so a mismatch names the part the host acknowledges wrongly. It is whatEmbeddedNetworkOutputChannel::newandEmbeddedNetworkInputChannel::newrequire. - Embedded
Channel - A channel crossing the boundary of an embedded dataflow: a network channel end, a stream
input, a membership stream, or an output, with its guarantees as marker types (
OrderingandRetries). - Embedded
Network Channel - The configuration of a network channel crossing the boundary of an embedded dataflow: the
transport type
Transportof the network config the dataflow sends with (for exampleTcp<FailStop>forTCP.fail_stop(), orEmbeddedTransport<ExactlyOnce, NoOrder, FailStop>forEMBEDDED.may_reorder().never_duplicates().never_drops()), and its serializationSerialization(Bincode, orEmbeddedfor an unserializedEMBEDDEDchannel). - Satisfied
By - A channel whose guarantees promises of ordering
Oand retriesRmeet: each guarantee the channel needs is weaker than (or the same as) the one promised. It is whatEmbeddedInputChannel::newrequires, and lets a reusable transport state once what it provides:fn source<C: SatisfiedBy<TotalOrder, ExactlyOnce>>()serves every channel that needs at most that.
Functions§
- embedded_
cluster_ membership_ stream - Returns a [
QuotedWithContext] that references a__membership_{idx}runtime variable. - embedded_
cluster_ self_ id - Returns a [
QuotedWithContext] that references the__cluster_self_idruntime variable.