pub trait OutputStream: OutputStreamBackend {
// Required method
fn write_message_field<M: Message>(
&mut self,
field: usize,
msg: &M,
) -> Result<()>;
// Provided methods
fn write_repeated_message_field<'a, M: 'a + Message, I: Iterator<Item = &'a M>>(
&mut self,
field: usize,
msgs: I,
) -> Result<()> { ... }
fn write_varint_field<F: NumField>(
&mut self,
field: usize,
val: F,
) -> Result<()> { ... }
fn write_byte_field(&mut self, field: usize, val: &[u8]) -> Result<()> { ... }
fn write_repeated_byte_field<'a, I: Iterator<Item = &'a [u8]>>(
&mut self,
field: usize,
vals: I,
) -> Result<()> { ... }
fn write_str_field(&mut self, field: usize, val: &str) -> Result<()> { ... }
fn write_opt_str_field<S: Borrow<str>>(
&mut self,
field: usize,
val: Option<S>,
) -> Result<()> { ... }
fn write_repeated_str_field<'a, I: Iterator<Item = &'a str>>(
&mut self,
field: usize,
vals: I,
) -> Result<()> { ... }
}Required Methods§
Provided Methods§
fn write_repeated_message_field<'a, M: 'a + Message, I: Iterator<Item = &'a M>>( &mut self, field: usize, msgs: I, ) -> Result<()>
fn write_varint_field<F: NumField>( &mut self, field: usize, val: F, ) -> Result<()>
fn write_byte_field(&mut self, field: usize, val: &[u8]) -> Result<()>
fn write_repeated_byte_field<'a, I: Iterator<Item = &'a [u8]>>( &mut self, field: usize, vals: I, ) -> Result<()>
fn write_str_field(&mut self, field: usize, val: &str) -> Result<()>
fn write_opt_str_field<S: Borrow<str>>( &mut self, field: usize, val: Option<S>, ) -> Result<()>
fn write_repeated_str_field<'a, I: Iterator<Item = &'a str>>( &mut self, field: usize, vals: I, ) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.