Expand description
Types for configuring network channels with serialization formats, transports, etc.
Structs§
- Embedded
Transport - Items cross a channel that the host of an embedded program implements however it likes (a
network connection, an in-memory queue, …), keeping the retries
R, orderingO, and failure policyFthat follow from what the channel declares about each anomaly (()until declared). - Networking
Config - A network channel configuration with
Tas transport backend andSas the serialization backend. - Tcp
- Send items across a length-delimited TCP channel.
- Udp
- Send items across a UDP channel, which does not guarantee delivery or ordering.
Enums§
- Bincode
- Serialize items using the
bincodecrate. - Embedded
- Leaves serialization of items to code outside of Hydro. Every
EMBEDDEDchannel uses it. - Embedded
Fault - The failure policy of an
EMBEDDEDchannel. - Fail
Stop - A TCP failure policy that stops sending messages after a failed connection.
- Lossy
- A failure policy that allows messages to be lost.
- Lossy
Delayed Forever - A failure policy that treats dropped messages as indefinitely delayed.
- Networking
Info - Describes the networking configuration for a network channel at the IR level.
- NoSer
- An unconfigured serialization backend.
- TcpFault
- The fault model for a TCP connection.
- UdpFault
- The fault model for a UDP channel.
Constants§
- EMBEDDED
- A network channel implemented by the host of an embedded program, which chooses how messages travel: a network connection, an in-memory queue, or anything else. The program declares, for each anomaly, whether the host’s channel may introduce it, and the received stream is weakened by each one it may:
- TCP
- A network channel that uses length-delimited TCP for transport.
- UDP
- A network channel that uses UDP for transport.
Traits§
- Embedded
Fail Policy - The failure policy an
EMBEDDEDchannel declares:FailStop(never_drops),Lossy(may_drop), orLossyDelayedForever(may_delay_forever). - Embedded
Ordering - The ordering an
EMBEDDEDchannel declares:TotalOrder(never_reorders) orNoOrder(may_reorder). - Embedded
Retries - The retries an
EMBEDDEDchannel declares:ExactlyOnce(never_duplicates) orAtLeastOnce(may_duplicate). - Network
For - A networking backend implementation that supports items of type
T. - TcpFail
Policy - A failure policy for TCP connections, determining how the transport handles connection failures and what ordering guarantees the output stream provides.
- Transport
Kind - A transport backend for network channels.
- UdpFail
Policy - A failure policy for UDP channels, determining how the transport handles
message loss. Because UDP provides no ordering guarantees, all policies
produce
NoOrderoutput streams, and there is nofail_stopoption (UDP is connectionless, so there is no connection to fail).