pub struct ProtoEncoder { /* private fields */ }Expand description
Fluent builder for constructing Protocol Buffer messages byte-by-byte.
Each method encodes one field (tag + payload) and returns &mut Self for
chaining. Call build to extract the completed byte
vector.
§Example
use scirs2_io::schema_registry::wire::ProtoEncoder;
let bytes = ProtoEncoder::new()
.int64(1, 12345)
.string(2, "hello world")
.build();
assert!(!bytes.is_empty());Implementations§
Source§impl ProtoEncoder
impl ProtoEncoder
Sourcepub fn int32(self, field_number: u32, value: i32) -> Self
pub fn int32(self, field_number: u32, value: i32) -> Self
Encode a signed 32-bit integer as a varint (wire type 0).
Sourcepub fn int64(self, field_number: u32, value: i64) -> Self
pub fn int64(self, field_number: u32, value: i64) -> Self
Encode a signed 64-bit integer as a varint (wire type 0).
Sourcepub fn uint32(self, field_number: u32, value: u32) -> Self
pub fn uint32(self, field_number: u32, value: u32) -> Self
Encode an unsigned 32-bit integer as a varint (wire type 0).
Sourcepub fn uint64(self, field_number: u32, value: u64) -> Self
pub fn uint64(self, field_number: u32, value: u64) -> Self
Encode an unsigned 64-bit integer as a varint (wire type 0).
Sourcepub fn bool(self, field_number: u32, value: bool) -> Self
pub fn bool(self, field_number: u32, value: bool) -> Self
Encode a boolean as a varint (wire type 0).
Sourcepub fn double(self, field_number: u32, value: f64) -> Self
pub fn double(self, field_number: u32, value: f64) -> Self
Encode a 64-bit float (wire type 1).
Sourcepub fn string(self, field_number: u32, value: &str) -> Self
pub fn string(self, field_number: u32, value: &str) -> Self
Encode a UTF-8 string as a length-delimited field (wire type 2).
Sourcepub fn bytes(self, field_number: u32, value: &[u8]) -> Self
pub fn bytes(self, field_number: u32, value: &[u8]) -> Self
Encode a raw byte sequence as a length-delimited field (wire type 2).
Trait Implementations§
Source§impl Debug for ProtoEncoder
impl Debug for ProtoEncoder
Source§impl Default for ProtoEncoder
impl Default for ProtoEncoder
Source§fn default() -> ProtoEncoder
fn default() -> ProtoEncoder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ProtoEncoder
impl RefUnwindSafe for ProtoEncoder
impl Send for ProtoEncoder
impl Sync for ProtoEncoder
impl Unpin for ProtoEncoder
impl UnsafeUnpin for ProtoEncoder
impl UnwindSafe for ProtoEncoder
Blanket Implementations§
impl<T> Allocation for T
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.