[][src]Struct protobuf::UnknownFields

pub struct UnknownFields {
    pub fields: Option<Box<HashMap<u32, UnknownValues>>>,
}

Hold "unknown" fields in parsed message.

Field may be unknown if it they are added in newer version of .proto. Unknown fields are stored in UnknownFields structure, so protobuf message could process messages without losing data.

For example, in this operation: load from DB, modify, store to DB, even when working with older .proto file, new fields won't be lost.

Fields

fields: Option<Box<HashMap<u32, UnknownValues>>>

The map.

Implementations

impl UnknownFields[src]

pub fn new() -> UnknownFields[src]

Empty unknown fields

pub fn add_fixed32(&mut self, number: u32, fixed32: u32)[src]

Add unknown fixed 32-bit

pub fn add_fixed64(&mut self, number: u32, fixed64: u64)[src]

Add unknown fixed 64-bit

pub fn add_varint(&mut self, number: u32, varint: u64)[src]

Add unknown varint

pub fn add_length_delimited(&mut self, number: u32, length_delimited: Vec<u8>)[src]

Add unknown length delimited

pub fn add_value(&mut self, number: u32, value: UnknownValue)[src]

Add unknown value

pub fn remove(&mut self, field_number: u32)[src]

Remove unknown field by number

pub fn iter<'s>(&'s self) -> UnknownFieldsIter<'s>

Notable traits for UnknownFieldsIter<'s>

impl<'s> Iterator for UnknownFieldsIter<'s> type Item = (u32, &'s UnknownValues);
[src]

Iterate over all unknowns

pub fn get(&self, field_number: u32) -> Option<&UnknownValues>[src]

Find unknown field by number

Trait Implementations

impl Clear for UnknownFields[src]

impl Clone for UnknownFields[src]

impl Debug for UnknownFields[src]

impl Default for UnknownFields[src]

impl Eq for UnknownFields[src]

impl Hash for UnknownFields[src]

Very simple hash implementation of Hash for UnknownFields. Since map is unordered, we cannot put entry hashes into hasher, instead we summing hashes of entries.

impl<'a> IntoIterator for &'a UnknownFields[src]

type Item = (u32, &'a UnknownValues)

The type of the elements being iterated over.

type IntoIter = UnknownFieldsIter<'a>

Which kind of iterator are we turning this into?

impl PartialEq<UnknownFields> for UnknownFields[src]

impl StructuralEq for UnknownFields[src]

impl StructuralPartialEq for UnknownFields[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.