Trait fire_protobuf::encode::EncodeMessage
source · pub trait EncodeMessage {
const WIRE_TYPE: WireType;
fn is_default(&self) -> bool;
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>;
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>
where
B: BytesWrite;
fn write_to_bytes(&mut self) -> Result<Vec<u8>, EncodeError> { ... }
}Expand description
Ignoring fields
if your call tells you a field number you need to write it even if you have the default value
You can only ignore writing fields if you wan’t
Required Associated Constants§
Required Methods§
fn is_default(&self) -> bool
sourcefn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after encoding
The that get’s returned here needs to be the same as called in write
if fieldnum is set this means you need to write the tag
sourcefn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
In most cases before this is called encoded_size get’s called
The size that get’s computed in encoded_size must be the same as we get here
if fieldnum is set this means you need to write the tag to
Provided Methods§
fn write_to_bytes(&mut self) -> Result<Vec<u8>, EncodeError>
Implementations on Foreign Types§
source§impl<V> EncodeMessage for Vec<V>where
V: EncodeMessage,
impl<V> EncodeMessage for Vec<V>where
V: EncodeMessage,
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl<V, const S: usize> EncodeMessage for [V; S]where
V: EncodeMessage,
impl<V, const S: usize> EncodeMessage for [V; S]where
V: EncodeMessage,
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl<V> EncodeMessage for &mut [V]where
V: EncodeMessage,
impl<V> EncodeMessage for &mut [V]where
V: EncodeMessage,
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl EncodeMessage for Vec<u8>
impl EncodeMessage for Vec<u8>
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl<const S: usize> EncodeMessage for [u8; S]
impl<const S: usize> EncodeMessage for [u8; S]
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl EncodeMessage for &mut [u8]
impl EncodeMessage for &mut [u8]
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl EncodeMessage for &[u8]
impl EncodeMessage for &[u8]
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
writer: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
writer: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
writer: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl EncodeMessage for String
impl EncodeMessage for String
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing
const WIRE_TYPE: WireType = WireType::Len
fn is_default(&self) -> bool
fn encode<B>(
&mut self,
field: Option<FieldOpt>,
encoder: &mut MessageEncoder<B>
) -> Result<(), EncodeError>where
B: BytesWrite,
source§impl EncodeMessage for &str
impl EncodeMessage for &str
source§fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
fn encoded_size(
&mut self,
field: Option<FieldOpt>,
builder: &mut SizeBuilder
) -> Result<(), EncodeError>
how big will the size be after writing