#[non_exhaustive]pub struct Transaction {
pub update_id: String,
pub command_id: String,
pub workflow_id: String,
pub offset: i64,
pub synchronizer_id: String,
pub effective_at: Option<Timestamp>,
pub record_time: Option<Timestamp>,
pub events: Vec<Event>,
}Expand description
A committed transaction.
Fields (Non-exhaustive)§
This struct is marked as 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.update_id: StringThe update id.
command_id: StringThe command id, visible to the submitting parties only.
workflow_id: StringThe workflow id, if one was set.
offset: i64The ledger offset.
synchronizer_id: StringThe synchronizer the transaction was committed on.
effective_at: Option<Timestamp>Ledger effective time.
record_time: Option<Timestamp>The synchronizer’s record time.
events: Vec<Event>The events visible to the subscribed parties, in node order.
Implementations§
Source§impl Transaction
impl Transaction
Sourcepub fn from_grpc(tx: Transaction) -> Result<Self>
pub fn from_grpc(tx: Transaction) -> Result<Self>
A gRPC transaction, as a stream, a point read or submit-and-wait
returns it.
§Errors
Error::UnexpectedResponse if an event is malformed.
Sourcepub fn from_json(tx: &Value) -> Result<Self>
pub fn from_json(tx: &Value) -> Result<Self>
A JSON transaction (the value of a Transaction update, or the
transaction of a submit-and-wait-for-transaction response).
§Errors
Error::UnexpectedResponse if a field is malformed.
Sourcepub fn created(&self) -> impl Iterator<Item = &CreatedEvent>
pub fn created(&self) -> impl Iterator<Item = &CreatedEvent>
The created events.
Sourcepub fn archived(&self) -> impl Iterator<Item = &ArchivedEvent>
pub fn archived(&self) -> impl Iterator<Item = &ArchivedEvent>
The archived events.
Sourcepub fn exercised(&self) -> impl Iterator<Item = &ExercisedEvent>
pub fn exercised(&self) -> impl Iterator<Item = &ExercisedEvent>
The exercised events (present under the ledger-effects shape).
Trait Implementations§
Source§impl Clone for Transaction
impl Clone for Transaction
Auto Trait Implementations§
impl Freeze for Transaction
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnsafeUnpin for Transaction
impl UnwindSafe for Transaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request