Trait exonum::encoding::SegmentField
[−]
[src]
pub trait SegmentField<'a>: Sized { fn item_size() -> Offset; fn count(&self) -> Offset; unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self; fn extend_buffer(&self, buffer: &mut Vec<u8>); fn check_data(
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result; }
Trait for fields, that has unknown compile-time
size.
Usually important for arrays,
or other types that in rust is always at HEAP
Required Methods
fn item_size() -> Offset
size of item fixed part that this Field
collect.
fn count(&self) -> Offset
count of items in collection
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
create collection from buffer
fn extend_buffer(&self, buffer: &mut Vec<u8>)
extend buffer with this collection
fn check_data(
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
check collection data
Implementations on Foreign Types
impl<'a> SegmentField<'a> for &'a str
[src]
fn item_size() -> Offset
[src]
fn count(&self) -> Offset
[src]
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
[src]
fn extend_buffer(&self, buffer: &mut Vec<u8>)
[src]
fn check_data(
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
[src]
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
impl<'a, T> SegmentField<'a> for Vec<T> where
T: Field<'a>,
[src]
T: Field<'a>,
fn item_size() -> Offset
[src]
fn count(&self) -> Offset
[src]
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
[src]
fn extend_buffer(&self, buffer: &mut Vec<u8>)
[src]
fn check_data(
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
[src]
buffer: &'a [u8],
from: CheckedOffset,
count: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
impl<'a> SegmentField<'a> for BitVec
[src]
fn item_size() -> Offset
[src]
fn count(&self) -> Offset
[src]
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
[src]
fn extend_buffer(&self, buffer: &mut Vec<u8>)
[src]
fn check_data(
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
[src]
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
impl<'a> SegmentField<'a> for &'a [u8]
[src]
fn item_size() -> Offset
[src]
fn count(&self) -> Offset
[src]
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
[src]
fn extend_buffer(&self, buffer: &mut Vec<u8>)
[src]
fn check_data(
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
[src]
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
impl<'a> SegmentField<'a> for &'a [Hash]
[src]
fn item_size() -> Offset
[src]
fn count(&self) -> Offset
[src]
unsafe fn from_buffer(buffer: &'a [u8], from: Offset, count: Offset) -> Self
[src]
fn extend_buffer(&self, buffer: &mut Vec<u8>)
[src]
fn check_data(
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
[src]
_: &'a [u8],
_: CheckedOffset,
_: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
Implementors
impl<'a> SegmentField<'a> for RawMessage
impl<'a> SegmentField<'a> for Connect
impl<'a> SegmentField<'a> for Status
impl<'a> SegmentField<'a> for Propose
impl<'a> SegmentField<'a> for Prevote
impl<'a> SegmentField<'a> for Precommit
impl<'a> SegmentField<'a> for BlockResponse
impl<'a> SegmentField<'a> for ProposeRequest
impl<'a> SegmentField<'a> for TransactionsRequest
impl<'a> SegmentField<'a> for PrevotesRequest
impl<'a> SegmentField<'a> for PeersRequest
impl<'a> SegmentField<'a> for BlockRequest