pub enum SendLayout {
Compact,
Fast,
Packed,
Smallest,
Redundant,
}Expand description
The wire LAYOUT a Send modifier picks — the size↔speed dial the sender chooses for
their link. The transpiler maps this to the runtime’s numeric codec. The sender knows
their use case; this lets them express it in one word.
Variants§
Compact
compact / small — smallest wire (LEB128 varint). For a bandwidth-bound link
(mobile, WAN, metered). This is also the default when no layout word is given.
Fast
fast / quickly — fastest decode (fixed-width memcpy, zero parse). For a
latency-bound / fat link (LAN, datacenter, RDMA).
Packed
packed — varint size with SIMD group-varint decode; the balanced middle.
Smallest
smallest / best — turn on the per-column compression menu (delta /
delta-of-delta / frame-of-reference / run-length / dictionary), auto-selecting
each column’s smallest form and never exceeding plain varint. For a
bandwidth-bound link where CPU is cheap relative to bytes.
Redundant
redundant / tough — forward error correction: the message is split into
Reed-Solomon shards and each is published as its own packet, so a receiver
reconstructs the exact message from any K even after some are lost. For a lossy
/ one-way link (UDP, multicast, BLE, LoRa) where retransmit is impossible.
Trait Implementations§
Source§impl Clone for SendLayout
impl Clone for SendLayout
Source§fn clone(&self) -> SendLayout
fn clone(&self) -> SendLayout
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SendLayout
impl Debug for SendLayout
Source§impl Hash for SendLayout
impl Hash for SendLayout
Source§impl PartialEq for SendLayout
impl PartialEq for SendLayout
Source§fn eq(&self, other: &SendLayout) -> bool
fn eq(&self, other: &SendLayout) -> bool
self and other values to be equal, and is used by ==.impl Copy for SendLayout
impl Eq for SendLayout
impl StructuralPartialEq for SendLayout
Auto Trait Implementations§
impl Freeze for SendLayout
impl RefUnwindSafe for SendLayout
impl Send for SendLayout
impl Sync for SendLayout
impl Unpin for SendLayout
impl UnsafeUnpin for SendLayout
impl UnwindSafe for SendLayout
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.