pub struct JoinRound {
pub round_key: String,
pub branch_count: usize,
}Expand description
Identifies one round of a Join and the number of branches in that round.
Join::fork and Join::fork_with_round_key create the round. Pass the same value, unchanged,
to every branch Step, to the join Step, and to the next round’s split Step when a loop resets the
Join. Treat it as an opaque token: the application never computes the key or the count itself.
A JoinRound is persisted inside Step inputs as the JSON object
{"roundKey": string, "branchCount": integer}. Every Dex SDK uses these field names, so a
round created by one SDK decodes in another. Deserializing a negative branchCount fails.
See Join for a complete example.
Since 1.44.0.
Fields§
§round_key: StringThe Channel-map instance that holds this round’s branch results.
Join::fork uses the split Step’s execution ID, such as RequestQuotes-2.
Join::fork_with_round_key uses the caller’s key. Dex Web shows it as the instance key of
the Join’s Channel map. It is never empty and never contains / when the SDK creates it.
branch_count: usizeThe number of branches the round started, which is the number of branch builders passed to the fork.
Join::for_all_branches waits for this many results. It may be zero, in which case that
condition completes immediately.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for JoinRound
impl<'de> Deserialize<'de> for JoinRound
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for JoinRound
impl StructuralPartialEq for JoinRound
Auto Trait Implementations§
impl Forget for JoinRound
impl Freeze for JoinRound
impl Move for JoinRound
impl RefUnwindSafe for JoinRound
impl Send for JoinRound
impl Sync for JoinRound
impl Unpin for JoinRound
impl UnsafeUnpin for JoinRound
impl UnwindSafe for JoinRound
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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> ⓘ
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>
T in a tonic::Request