pub trait Encode<W: Write>: Sized {
type Future: Future<Item = W, Error = Error<W>>;
fn encode(self, writer: W) -> Self::Future;
fn encoded_size(&self) -> u64;
}
Associated Types
Required Methods
Implementors
impl<W, T, F> Encode<W> for Field<T, F> where
W: Write,
T: Tag,
F: FieldType + Encode<W>,
impl<W, T, F> Encode<W> for RepeatedField<T, F> where
W: Write,
T: Tag,
F: FieldType + Encode<W>,
impl<W, T, F> Encode<W> for PackedRepeatedField<T, F> where
W: Write,
T: Tag,
F: Packable + Encode<W>,
impl<W, T, M> Encode<W> for MapField<T, M> where
W: Write,
T: Tag,
M: Map,
M::Key: Encode<W>,
M::Value: Encode<W>,
impl<W: Write, T: Message> Encode<W> for Embedded<T> where
T::Base: Encode<W>,
impl<W, A> Encode<W> for (A,) where
W: Write,
A: Encode<W> + Field,
impl<W, A, B> Encode<W> for (A, B) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
impl<W, A, B, C> Encode<W> for (A, B, C) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
impl<W, A, B, C, D> Encode<W> for (A, B, C, D) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
D: Encode<W> + Field,
impl<W, A, B, C, D, E> Encode<W> for (A, B, C, D, E) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
D: Encode<W> + Field,
E: Encode<W> + Field,
impl<W, A, B, C, D, E, F> Encode<W> for (A, B, C, D, E, F) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
D: Encode<W> + Field,
E: Encode<W> + Field,
F: Encode<W> + Field,
impl<W, A, B, C, D, E, F, G> Encode<W> for (A, B, C, D, E, F, G) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
D: Encode<W> + Field,
E: Encode<W> + Field,
F: Encode<W> + Field,
G: Encode<W> + Field,
impl<W, A, B, C, D, E, F, G, H> Encode<W> for (A, B, C, D, E, F, G, H) where
W: Write,
A: Encode<W> + Field,
B: Encode<W> + Field,
C: Encode<W> + Field,
D: Encode<W> + Field,
E: Encode<W> + Field,
F: Encode<W> + Field,
G: Encode<W> + Field,
H: Encode<W> + Field,
impl<W, A> Encode<W> for Oneof1<A> where
W: Write,
A: Encode<W> + SingularField,
impl<W, A, B> Encode<W> for Oneof2<A, B> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
impl<W, A, B, C> Encode<W> for Oneof3<A, B, C> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
impl<W, A, B, C, D> Encode<W> for Oneof4<A, B, C, D> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
D: Encode<W> + SingularField,
impl<W, A, B, C, D, E> Encode<W> for Oneof5<A, B, C, D, E> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
D: Encode<W> + SingularField,
E: Encode<W> + SingularField,
impl<W, A, B, C, D, E, F> Encode<W> for Oneof6<A, B, C, D, E, F> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
D: Encode<W> + SingularField,
E: Encode<W> + SingularField,
F: Encode<W> + SingularField,
impl<W, A, B, C, D, E, F, G> Encode<W> for Oneof7<A, B, C, D, E, F, G> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
D: Encode<W> + SingularField,
E: Encode<W> + SingularField,
F: Encode<W> + SingularField,
G: Encode<W> + SingularField,
impl<W, A, B, C, D, E, F, G, H> Encode<W> for Oneof8<A, B, C, D, E, F, G, H> where
W: Write,
A: Encode<W> + SingularField,
B: Encode<W> + SingularField,
C: Encode<W> + SingularField,
D: Encode<W> + SingularField,
E: Encode<W> + SingularField,
F: Encode<W> + SingularField,
G: Encode<W> + SingularField,
H: Encode<W> + SingularField,
impl<W: Write> Encode<W> for Vec<u8>
impl<W: Write> Encode<W> for Bool
impl<W: Write> Encode<W> for Uint32
impl<W: Write> Encode<W> for Uint64
impl<W: Write> Encode<W> for Int32
impl<W: Write> Encode<W> for Int64
impl<W: Write> Encode<W> for Sint32
impl<W: Write> Encode<W> for Sint64
impl<W: Write> Encode<W> for Fixed32
impl<W: Write> Encode<W> for Fixed64
impl<W: Write> Encode<W> for Sfixed32
impl<W: Write> Encode<W> for Sfixed64
impl<W: Write> Encode<W> for Float
impl<W: Write> Encode<W> for Double
impl<W: Write> Encode<W> for Bytes
impl<W: Write> Encode<W> for Str
impl<W: Write> Encode<W> for Bit32
impl<W: Write> Encode<W> for Bit64
impl<W: Write> Encode<W> for Varint
impl<W, T> Encode<W> for LengthDelimited<T> where
W: Write,
T: Encode<W>,