pub enum ComputeResponse<T = Timestamp> {
FrontierUppers(Vec<(GlobalId, Antichain<T>)>),
PeekResponse(Uuid, PeekResponse, OpenTelemetryContext),
SubscribeResponse(GlobalId, SubscribeResponse<T>),
}
Expand description
Responses that the compute nature of a worker/dataflow can provide back to the coordinator.
Variants§
FrontierUppers(Vec<(GlobalId, Antichain<T>)>)
A list of identifiers of traces, with new upper frontiers.
TODO(teskje): Consider also reporting the previous upper frontier and using that information to assert the correct implementation of our protocols at various places.
PeekResponse(Uuid, PeekResponse, OpenTelemetryContext)
The worker’s response to a specified (by connection id) peek.
SubscribeResponse(GlobalId, SubscribeResponse<T>)
The worker’s next response to a specified subscribe.
Trait Implementations§
source§impl Arbitrary for ComputeResponse<Timestamp>
impl Arbitrary for ComputeResponse<Timestamp>
§type Strategy = Union<BoxedStrategy<ComputeResponse<Timestamp>>>
type Strategy = Union<BoxedStrategy<ComputeResponse<Timestamp>>>
The type of
Strategy
used to generate values of type Self
.§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.source§fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
source§impl<T: Clone> Clone for ComputeResponse<T>
impl<T: Clone> Clone for ComputeResponse<T>
source§fn clone(&self) -> ComputeResponse<T>
fn clone(&self) -> ComputeResponse<T>
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 moresource§impl<T: Debug> Debug for ComputeResponse<T>
impl<T: Debug> Debug for ComputeResponse<T>
source§impl<'de, T> Deserialize<'de> for ComputeResponse<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for ComputeResponse<T>where
T: Deserialize<'de>,
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T: Send> GenericClient<ComputeCommand<T>, ComputeResponse<T>> for Box<dyn ComputeClient<T>>
impl<T: Send> GenericClient<ComputeCommand<T>, ComputeResponse<T>> for Box<dyn ComputeClient<T>>
source§fn send<'life0, 'async_trait>(
&'life0 mut self,
cmd: ComputeCommand<T>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send<'life0, 'async_trait>(
&'life0 mut self,
cmd: ComputeCommand<T>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sends a command to the dataflow server. Read more
source§impl<T: PartialEq> PartialEq<ComputeResponse<T>> for ComputeResponse<T>
impl<T: PartialEq> PartialEq<ComputeResponse<T>> for ComputeResponse<T>
source§fn eq(&self, other: &ComputeResponse<T>) -> bool
fn eq(&self, other: &ComputeResponse<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T> Partitionable<ComputeCommand<T>, ComputeResponse<T>> for (ComputeCommand<T>, ComputeResponse<T>)where
T: Timestamp + Lattice,
impl<T> Partitionable<ComputeCommand<T>, ComputeResponse<T>> for (ComputeCommand<T>, ComputeResponse<T>)where
T: Timestamp + Lattice,
§type PartitionedState = PartitionedComputeState<T>
type PartitionedState = PartitionedComputeState<T>
The type which functions as the state machine for the partitioning.
source§fn new(parts: usize) -> PartitionedComputeState<T>
fn new(parts: usize) -> PartitionedComputeState<T>
Construct a
PartitionedState
for the command–response pair.source§impl<T> PartitionedState<ComputeCommand<T>, ComputeResponse<T>> for PartitionedComputeState<T>where
T: Timestamp + Lattice,
impl<T> PartitionedState<ComputeCommand<T>, ComputeResponse<T>> for PartitionedComputeState<T>where
T: Timestamp + Lattice,
source§fn split_command(
&mut self,
command: ComputeCommand<T>
) -> Vec<Option<ComputeCommand<T>>> ⓘ
fn split_command(
&mut self,
command: ComputeCommand<T>
) -> Vec<Option<ComputeCommand<T>>> ⓘ
Splits a command into multiple partitions.
source§fn absorb_response(
&mut self,
shard_id: usize,
message: ComputeResponse<T>
) -> Option<Result<ComputeResponse<T>, Error>>
fn absorb_response(
&mut self,
shard_id: usize,
message: ComputeResponse<T>
) -> Option<Result<ComputeResponse<T>, Error>>
Absorbs a response from a single partition. Read more
source§impl RustType<ProtoComputeResponse> for ComputeResponse<Timestamp>
impl RustType<ProtoComputeResponse> for ComputeResponse<Timestamp>
source§fn into_proto(&self) -> ProtoComputeResponse
fn into_proto(&self) -> ProtoComputeResponse
Convert a
Self
into a Proto
value.source§fn from_proto(proto: ProtoComputeResponse) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoComputeResponse) -> Result<Self, TryFromProtoError>
source§impl<T> Serialize for ComputeResponse<T>where
T: Serialize,
impl<T> Serialize for ComputeResponse<T>where
T: Serialize,
impl<T> StructuralPartialEq for ComputeResponse<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for ComputeResponse<T>where
T: RefUnwindSafe,
impl<T> Send for ComputeResponse<T>where
T: Send,
impl<T> Sync for ComputeResponse<T>where
T: Sync,
impl<T> Unpin for ComputeResponse<T>where
T: Unpin,
impl<T> UnwindSafe for ComputeResponse<T>where
T: UnwindSafe,
Blanket Implementations§
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::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.