[][src]Struct exonum::runtime::migrations::InstanceMigration

#[non_exhaustive]pub struct InstanceMigration {
    pub target: ArtifactId,
    pub end_version: Version,
    pub completed_hash: Option<Hash>,
}

Information about a migration of a service instance.

Fields (Non-exhaustive)

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
target: ArtifactId

Migration target to obtain migration scripts from. This artifact must be deployed on the blockchain.

end_version: Version

Version of the instance data after the migration is completed. Note that it does not necessarily match the version of target, but should be not greater.

completed_hash: Option<Hash>

Consensus-wide outcome of the migration, in the form of the aggregation hash of the migrated data. The lack of value signifies that the network has not yet reached consensus about the migration outcome.

Methods

impl InstanceMigration[src]

pub fn is_completed(&self) -> bool[src]

Checks if the migration is considered completed, i.e., has migration state agreed among all nodes in the blockchain network.

Trait Implementations

impl BinaryValue for InstanceMigration[src]

impl Clone for InstanceMigration[src]

impl Debug for InstanceMigration[src]

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

impl Hash for InstanceMigration[src]

impl PartialEq<InstanceMigration> for InstanceMigration[src]

impl ProtobufConvert for InstanceMigration[src]

type ProtoStruct = InstanceMigration

Type generated from the Protobuf definition.

impl Serialize for InstanceMigration[src]

impl StructuralPartialEq for InstanceMigration[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> DeserializeOwned for T where
    T: Deserialize<'de>, 
[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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,