Struct exonum::messages::Propose [] [src]

pub struct Propose { /* fields omitted */ }

Proposal for a new block.

Validation

The message is ignored if it * contains incorrect prev_hash * is sent by non-leader * contains already committed transactions * is already known

Processing

If the message contains unknown transactions, then TransactionsRequest is sent in reply. Otherwise Prevote is broadcast.

Generation

A node broadcasts Propose if it is a leader and is not locked for a different proposal. Also Propose can be sent as response to ProposeRequest.

Methods

impl Propose
[src]

[src]

Creates message and signs it.

[src]

Creates message and appends existing signature.

[src]

Returns the hex representation of the binary data. Lower case letters are used (e.g. f9b4ca).

[src]

The validator id.

[src]

The height to which the message is related.

[src]

The round to which the message is related.

[src]

Hash of the previous block.

Important traits for &'a mut [u8]
[src]

The list of transactions to include in the next block.

Trait Implementations

impl Clone for Propose
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq for Propose
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl ServiceMessage for Propose
[src]

SERVICE_ID: u16 = CONSENSUS

ID of the service this message belongs to.

MESSAGE_ID: u16 = 0 + 1 + 1

ID of the message itself. Should be unique within a service. Read more

impl Message for Propose
[src]

[src]

Converts the raw message into the specific one.

[src]

Returns raw message.

[src]

Verifies the message using given public key.

impl<'a> SegmentField<'a> for Propose
[src]

[src]

size of item fixed part that this Field collect.

[src]

count of items in collection

[src]

extend buffer with this collection

[src]

create collection from buffer

[src]

check collection data

impl AsRef<RawMessage> for Propose
[src]

[src]

Performs the conversion.

impl FromHex for Propose
[src]

[src]

Creates an instance of type Self from the given hex string, or fails with a custom error type. Read more

impl StorageValue for Propose
[src]

Important traits for Vec<u8>
[src]

Serialize a value into a vector of bytes.

[src]

Deserialize a value from bytes.

impl Debug for Propose
[src]

[src]

Formats the value using the given formatter. Read more

impl ExonumJson for Propose
[src]

[src]

write deserialized field in buffer on place.

[src]

serialize field as json::Value

impl ExonumJsonDeserialize for Propose
[src]

[src]

deserialize json value.

impl<'de> Deserialize<'de> for Propose
[src]

[src]

Deserialize this value from the given Serde deserializer. Read more

impl Serialize for Propose
[src]

[src]

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

impl Send for Propose

impl Sync for Propose