Enum diem_sdk::types::transaction::TransactionStatus
pub enum TransactionStatus {
Discard(StatusCode),
Keep(KeptVMStatus),
Retry,
}
Expand description
The status of executing a transaction. The VM decides whether or not we should Keep
the
transaction output or Discard
it based upon the execution of the transaction. We wrap these
decisions around a VMStatus
that provides more detail on the final execution state of the VM.
Variants§
Discard(StatusCode)
Discard the transaction output
Keep(KeptVMStatus)
Keep the transaction output
Retry
Retry the transaction, e.g., after a reconfiguration
Implementations§
§impl TransactionStatus
impl TransactionStatus
pub fn status(&self) -> Result<KeptVMStatus, StatusCode>
pub fn is_discarded(&self) -> bool
Trait Implementations§
§impl Arbitrary for TransactionStatus
impl Arbitrary for TransactionStatus
§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§fn arbitrary_with(
_args: <TransactionStatus as Arbitrary>::Parameters
) -> <TransactionStatus as Arbitrary>::Strategy
fn arbitrary_with( _args: <TransactionStatus as Arbitrary>::Parameters ) -> <TransactionStatus as Arbitrary>::Strategy
§type Strategy = BoxedStrategy<TransactionStatus>
type Strategy = BoxedStrategy<TransactionStatus>
The type of
Strategy
used to generate values of type Self
.§impl Clone for TransactionStatus
impl Clone for TransactionStatus
§fn clone(&self) -> TransactionStatus
fn clone(&self) -> TransactionStatus
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for TransactionStatus
impl Debug for TransactionStatus
§impl<'de> Deserialize<'de> for TransactionStatus
impl<'de> Deserialize<'de> for TransactionStatus
§fn deserialize<__D>(
__deserializer: __D
) -> Result<TransactionStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<TransactionStatus, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl From<VMStatus> for TransactionStatus
impl From<VMStatus> for TransactionStatus
§fn from(vm_status: VMStatus) -> TransactionStatus
fn from(vm_status: VMStatus) -> TransactionStatus
Converts to this type from the input type.
§impl PartialEq<TransactionStatus> for TransactionStatus
impl PartialEq<TransactionStatus> for TransactionStatus
§fn eq(&self, other: &TransactionStatus) -> bool
fn eq(&self, other: &TransactionStatus) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl Serialize for TransactionStatus
impl Serialize for TransactionStatus
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for TransactionStatus
impl StructuralEq for TransactionStatus
impl StructuralPartialEq for TransactionStatus
Auto Trait Implementations§
impl RefUnwindSafe for TransactionStatus
impl Send for TransactionStatus
impl Sync for TransactionStatus
impl Unpin for TransactionStatus
impl UnwindSafe for TransactionStatus
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.