pub struct TransactionUpdate<F>where
F: WebsocketFormat,{
pub status: UpdateStatus<F>,
pub timestamp: Timestamp,
pub caller_identity: Identity,
pub caller_connection_id: ConnectionId,
pub reducer_call: ReducerCallInfo<F>,
pub energy_quanta_used: EnergyQuanta,
pub total_host_execution_duration: TimeDuration,
}Expand description
Received by client from database upon a reducer run.
Clients receive TransactionUpdates only for reducers
which update at least one of their subscribed rows,
or for their own Failed or OutOfEnergy reducer invocations.
Fields§
§status: UpdateStatus<F>The status of the transaction. Contains the updated rows, if successful.
timestamp: TimestampThe time when the reducer started.
Note that Timestamp serializes as i64 nanoseconds since the Unix epoch.
caller_identity: IdentityThe identity of the user who requested the reducer run. For event-driven and scheduled reducers, it is the identity of the database owner.
caller_connection_id: ConnectionIdThe 16-byte ConnectionId of the user who requested the reducer run.
The all-zeros id is a sentinel which denotes no meaningful value. This can occur in the following situations:
initandupdatereducers will have acaller_connection_idif and only if one was provided to thepublishHTTP endpoint.- Scheduled reducers will never have a
caller_connection_id. - Reducers invoked by WebSocket or the HTTP API will always have a
caller_connection_id.
reducer_call: ReducerCallInfo<F>The original CallReducer request that triggered this reducer.
energy_quanta_used: EnergyQuantaThe amount of energy credits consumed by running the reducer.
total_host_execution_duration: TimeDurationHow long the reducer took to run.
Trait Implementations§
Source§impl<F> Debug for TransactionUpdate<F>where
F: Debug + WebsocketFormat,
impl<F> Debug for TransactionUpdate<F>where
F: Debug + WebsocketFormat,
Source§impl<'de, F> Deserialize<'de> for TransactionUpdate<F>where
F: WebsocketFormat + Deserialize<'de>,
impl<'de, F> Deserialize<'de> for TransactionUpdate<F>where
F: WebsocketFormat + Deserialize<'de>,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<TransactionUpdate<F>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<TransactionUpdate<F>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
deserializer.Source§impl<F> From<TransactionUpdate<F>> for ServerMessage<F>where
F: WebsocketFormat,
impl<F> From<TransactionUpdate<F>> for ServerMessage<F>where
F: WebsocketFormat,
Source§fn from(original: TransactionUpdate<F>) -> ServerMessage<F>
fn from(original: TransactionUpdate<F>) -> ServerMessage<F>
Source§impl<F> Serialize for TransactionUpdate<F>where
F: WebsocketFormat + Serialize,
impl<F> Serialize for TransactionUpdate<F>where
F: WebsocketFormat + Serialize,
Source§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,
self in the data format of S using the provided serializer.Source§impl<F> SpacetimeType for TransactionUpdate<F>where
F: WebsocketFormat + SpacetimeType + 'static,
impl<F> SpacetimeType for TransactionUpdate<F>where
F: WebsocketFormat + SpacetimeType + 'static,
Source§fn make_type<S>(__typespace: &mut S) -> AlgebraicTypewhere
S: TypespaceBuilder,
fn make_type<S>(__typespace: &mut S) -> AlgebraicTypewhere
S: TypespaceBuilder,
AlgebraicType representing the type for Self in SATS
and in the typing context in typespace. This is used by the
automatic type registration system in Rust modules. Read moreAuto Trait Implementations§
impl<F> Freeze for TransactionUpdate<F>
impl<F> RefUnwindSafe for TransactionUpdate<F>where
<F as WebsocketFormat>::Single: RefUnwindSafe,
<F as WebsocketFormat>::QueryUpdate: RefUnwindSafe,
impl<F> Send for TransactionUpdate<F>
impl<F> Sync for TransactionUpdate<F>
impl<F> Unpin for TransactionUpdate<F>
impl<F> UnwindSafe for TransactionUpdate<F>where
<F as WebsocketFormat>::Single: UnwindSafe,
<F as WebsocketFormat>::QueryUpdate: RefUnwindSafe + UnwindSafe,
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Satn for T
impl<T> Satn for T
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
f.Source§fn fmt_psql(
&self,
f: &mut Formatter<'_>,
ty: &PsqlType<'_>,
) -> Result<(), Error>
fn fmt_psql( &self, f: &mut Formatter<'_>, ty: &PsqlType<'_>, ) -> Result<(), Error>
f.Source§fn to_satn(&self) -> String
fn to_satn(&self) -> String
String.Source§fn to_satn_pretty(&self) -> String
fn to_satn_pretty(&self) -> String
String.