pub struct TestDeserializer { /* private fields */ }Expand description
A scriptable Deserializer over owned byte-vector records.
Modes:
passthrough: one record per payload;split_on: one record per delimiter-separated segment — exercises 1→N fan-out (b"a,b"→["a", "b"]; empty segments are emitted, sob"a,,b"yields three records);fail_on_prefix: payloads starting with the marker fail withDeserError::Malformed, everything else passes through — exercisesSkip/Failerror policies.
Emission honors Flow::Blocked: the deserializer stops emitting for
the current payload, as the seam contract requires.
Implementations§
Source§impl TestDeserializer
impl TestDeserializer
Sourcepub fn passthrough() -> Self
pub fn passthrough() -> Self
One record per payload.
Sourcepub fn split_on(delimiter: u8) -> Self
pub fn split_on(delimiter: u8) -> Self
One record per delimiter-separated segment of the payload.
Sourcepub fn fail_on_prefix(marker: impl Into<Vec<u8>>) -> Self
pub fn fail_on_prefix(marker: impl Into<Vec<u8>>) -> Self
Fail payloads starting with marker; pass the rest through.
Trait Implementations§
Source§impl Clone for TestDeserializer
impl Clone for TestDeserializer
Source§fn clone(&self) -> TestDeserializer
fn clone(&self) -> TestDeserializer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TestDeserializer
impl Debug for TestDeserializer
Source§impl Deserializer<Owned<Vec<u8>>> for TestDeserializer
impl Deserializer<Owned<Vec<u8>>> for TestDeserializer
Source§fn deserialize<'buf>(
&mut self,
raw: &RawPayload<'buf>,
ack: &AckRef,
out: &mut dyn EmitRecord<'buf, Vec<u8>>,
) -> Result<(), DeserError>
fn deserialize<'buf>( &mut self, raw: &RawPayload<'buf>, ack: &AckRef, out: &mut dyn EmitRecord<'buf, Vec<u8>>, ) -> Result<(), DeserError>
Decode
raw, emitting each resulting record with the payload’s
metadata and a clone of ack.Auto Trait Implementations§
impl Freeze for TestDeserializer
impl RefUnwindSafe for TestDeserializer
impl Send for TestDeserializer
impl Sync for TestDeserializer
impl Unpin for TestDeserializer
impl UnsafeUnpin for TestDeserializer
impl UnwindSafe for TestDeserializer
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