Struct dataflow_types::client::controller::Controller [−][src]
pub struct Controller<C> {
client: C,
source_descriptions: BTreeMap<GlobalId, Option<SourceDesc>>,
compute_since_uppers: SinceUpperMap,
storage_since_uppers: SinceUpperMap,
}
Expand description
A client that maintains soft state and validates commands, in addition to forwarding them.
Fields
client: C
The underlying client,
source_descriptions: BTreeMap<GlobalId, Option<SourceDesc>>
Sources that have been created.
A None
variant means that the source was dropped before it was first created.
compute_since_uppers: SinceUpperMap
Tracks since
and upper
frontiers for indexes and sinks.
storage_since_uppers: SinceUpperMap
Tracks since
and upper
frontiers for sources and tables.
Implementations
Returns the source description for a given identifier.
The response does not distinguish between an as yet uncreated source description, and one that has been created and then dropped (or dropped without creation). There is a distinction and the client is aware of it, and could plausibly return this information if we had a use for it.
pub fn index_since_upper_for(
&self,
id: GlobalId
) -> Option<(AntichainRef<'_, Timestamp>, AntichainRef<'_, Timestamp>)>
pub fn index_since_upper_for(
&self,
id: GlobalId
) -> Option<(AntichainRef<'_, Timestamp>, AntichainRef<'_, Timestamp>)>
Returns the pair of since
and upper
for a maintained index, if it exists.
The since
frontier indicates that the maintained data are certainly valid for times greater
or equal to the frontier, but they may not be for other times. Attempting to create a dataflow
using this id
with an as_of
that is not at least since
will result in an error.
The upper
frontier indicates that the data are reported available for all times not greater
or equal to the frontier. Dataflows with an as_of
greater or equal to this frontier may not
immediately produce results.
pub fn source_since_upper_for(
&self,
id: GlobalId
) -> Option<(AntichainRef<'_, Timestamp>, AntichainRef<'_, Timestamp>)>
pub fn source_since_upper_for(
&self,
id: GlobalId
) -> Option<(AntichainRef<'_, Timestamp>, AntichainRef<'_, Timestamp>)>
Returns the pair of since
and upper
for a source, if it exists.
The since
frontier indicates that the maintained data are certainly valid for times greater
or equal to the frontier, but they may not be for other times. Attempting to create a dataflow
using this id
with an as_of
that is not at least since
will result in an error.
The upper
frontier indicates that the data are reported available for all times not greater
or equal to the frontier. Dataflows with an as_of
greater or equal to this frontier may not
immediately produce results.
Trait Implementations
Sends a command to the dataflow server.
Auto Trait Implementations
impl<C> RefUnwindSafe for Controller<C> where
C: RefUnwindSafe,
impl<C> Send for Controller<C> where
C: Send,
impl<C> Sync for Controller<C> where
C: Sync,
impl<C> Unpin for Controller<C> where
C: Unpin,
impl<C> UnwindSafe for Controller<C> where
C: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
fn create_instance<'life0, 'async_trait>(
&'life0 mut self,
instance: usize
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn drop_instance<'life0, 'async_trait>(
&'life0 mut self,
instance: usize
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn create_dataflows<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
dataflows: Vec<DataflowDescription<Plan>>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn drop_sinks<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
sink_identifiers: Vec<GlobalId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn drop_indexes<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
index_identifiers: Vec<GlobalId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn peek<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
id: GlobalId,
key: Option<Row>,
conn_id: u32,
timestamp: Timestamp,
finishing: RowSetFinishing,
map_filter_project: SafeMfpPlan
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn cancel_peek<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
conn_id: u32
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn allow_index_compaction<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
frontiers: Vec<(GlobalId, Antichain<Timestamp>)>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn enable_logging<'life0, 'async_trait>(
&'life0 mut self,
instance: usize,
logging_config: LoggingConfig
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn create_sources<'life0, 'async_trait>(
&'life0 mut self,
source_descriptions: Vec<(GlobalId, (SourceDesc, Antichain<Timestamp>))>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn drop_sources<'life0, 'async_trait>(
&'life0 mut self,
source_identifiers: Vec<GlobalId>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn table_insert<'life0, 'async_trait>(
&'life0 mut self,
id: GlobalId,
updates: Vec<Update>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn update_durability_frontiers<'life0, 'async_trait>(
&'life0 mut self,
updates: Vec<(GlobalId, Antichain<Timestamp>)>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn add_source_timestamping<'life0, 'async_trait>(
&'life0 mut self,
id: GlobalId,
connector: SourceConnector,
bindings: Vec<(PartitionId, Timestamp, MzOffset)>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
fn allow_source_compaction<'life0, 'async_trait>(
&'life0 mut self,
frontiers: Vec<(GlobalId, Antichain<Timestamp>)>
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: Send + 'async_trait,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more