Struct exonum_configuration::StorageValueConfigProposeData
[−]
pub struct StorageValueConfigProposeData { /* fields omitted */ }
Methods
impl StorageValueConfigProposeData
fn new(
tx_propose: TxConfigPropose,
votes_history_hash: &Hash,
num_votes: u64
) -> StorageValueConfigProposeData
tx_propose: TxConfigPropose,
votes_history_hash: &Hash,
num_votes: u64
) -> StorageValueConfigProposeData
Creates a new instance with given parameters.
fn hash(&self) -> Hash
Hashes data as a raw byte array and returns the resulting hash.
fn tx_propose(&self) -> TxConfigPropose
fn votes_history_hash(&self) -> &Hash
fn num_votes(&self) -> u64
impl StorageValueConfigProposeData
[src]
This structure logically contains 2 fields:
TxConfigPropose
intx_propose
field.Reference to
votes_by_config_hash
table. This reference is represented by 2 fields:votest_history_hash
num_votes
Length of the table is stored in num_votes
field, which isn't changed
after table initialization, because number of possible vote slots for a config is determined by
number of validators in its previous config.
Table's root hash - in votes_history_hash
field, which is
modified after a vote from validator is added.
fn set_history_hash(&mut self, hash: &Hash)
Method to mutate votes_history_hash
field containing root hash of
votes_by_config_hash
after replacing empty
vote with a real TxConfigVote
cast by a validator.
Trait Implementations
impl Clone for StorageValueConfigProposeData
fn clone(&self) -> StorageValueConfigProposeData
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl PartialEq for StorageValueConfigProposeData
fn eq(&self, __arg_0: &StorageValueConfigProposeData) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &StorageValueConfigProposeData) -> bool
This method tests for !=
.
impl<'a> Field<'a> for StorageValueConfigProposeData
unsafe fn read(buffer: &'a [u8], from: Offset, to: Offset) -> Self
Read Field from buffer, with given position, beware of memory unsafety, you should check
Field
before read
. Read more
fn write(&self, buffer: &mut Vec<u8>, from: Offset, to: Offset)
Write Field to buffer, in given position write
doesn't lead to memory unsafety. Read more
fn check(
buffer: &'a [u8],
from_st_val: CheckedOffset,
to_st_val: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
buffer: &'a [u8],
from_st_val: CheckedOffset,
to_st_val: CheckedOffset,
latest_segment: CheckedOffset
) -> Result
Checks if data in the buffer could be deserialized. Returns an index of latest data seen. Read more
fn field_size() -> Offset
Field's header size
impl StorageValue for StorageValueConfigProposeData
fn into_bytes(self) -> Vec<u8>
Serialize a value into a vector of bytes.
fn from_bytes(v: Cow<[u8]>) -> Self
Deserialize a value from bytes.
fn hash(&self) -> Hash
Returns a hash of the value. Read more
impl Debug for StorageValueConfigProposeData
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl ExonumJson for StorageValueConfigProposeData
fn deserialize_field<B>(
value: &Value,
buffer: &mut B,
from: Offset,
_to: Offset
) -> Result<(), Box<Error>> where
B: WriteBufferWrapper,
value: &Value,
buffer: &mut B,
from: Offset,
_to: Offset
) -> Result<(), Box<Error>> where
B: WriteBufferWrapper,
write deserialized field in buffer on place.
fn serialize_field(&self) -> Result<Value, Box<Error>>
serialize field as json::Value
impl ExonumJsonDeserialize for StorageValueConfigProposeData
fn deserialize(value: &Value) -> Result<Self, Box<Error>>
deserialize json
value.
impl<'de> Deserialize<'de> for StorageValueConfigProposeData
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more