pub enum WireCodec {
Native,
Json,
}Expand description
The wire encoding for a message body.
Native is the default and the fast path — our compact tagged-varint binary
format, encoded and decoded in a SINGLE PASS straight to/from RuntimeValue
with no intermediate trees: the hot loop for a list of scalars allocates only
the output buffer. Json is offered for interop with non-Logos peers (or human
debugging) through a real parser (serde_json), never a hand-rolled one. Both
ride the same relay: every message self-describes its codec in a leading header
byte, so any receiver decodes either.
Variants§
Native
Our single-pass tagged-varint binary (default) — the high-throughput path.
Json
serde_json text — interop / debuggable, larger and slower.
Trait Implementations§
impl Copy for WireCodec
impl Eq for WireCodec
impl StructuralPartialEq for WireCodec
Auto Trait Implementations§
impl Freeze for WireCodec
impl RefUnwindSafe for WireCodec
impl Send for WireCodec
impl Sync for WireCodec
impl Unpin for WireCodec
impl UnsafeUnpin for WireCodec
impl UnwindSafe for WireCodec
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.