pub struct EnvelopeCodec;Expand description
Envelope encode + decode helper. Stateless; thin façade over
prost’s Message::encode_to_vec / Message::decode.
Implementations§
Source§impl EnvelopeCodec
impl EnvelopeCodec
Sourcepub fn encode(env: &WireEnvelope) -> Vec<u8> ⓘ
pub fn encode(env: &WireEnvelope) -> Vec<u8> ⓘ
Encode env to a prost wire-format byte vector.
Callers must stamp ENVELOPE_SCHEMA_VERSION on the envelope
before encode; production paths land it on push into
OutboundQueue::push so this function avoids cloning the
(potentially large) payload bytes solely to set one u32.
Sourcepub fn decode_capped(
bytes: &[u8],
caps: &EnvelopeCaps,
) -> Result<WireEnvelope, EnvelopeDecodeError>
pub fn decode_capped( bytes: &[u8], caps: &EnvelopeCaps, ) -> Result<WireEnvelope, EnvelopeDecodeError>
Bounded decode — the only inbound decode entry. Rejects the buffer at the length / fill-count / schema-version layer BEFORE prost allocation, so an adversarial sender can’t pre-balloon memory by advertising large lengths in the protobuf header.
Auto Trait Implementations§
impl Freeze for EnvelopeCodec
impl RefUnwindSafe for EnvelopeCodec
impl Send for EnvelopeCodec
impl Sync for EnvelopeCodec
impl Unpin for EnvelopeCodec
impl UnsafeUnpin for EnvelopeCodec
impl UnwindSafe for EnvelopeCodec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request