Struct mz_persist::client::StreamWriteHandle
source · [−]pub struct StreamWriteHandle<K, V> { /* private fields */ }
Expand description
A handle that allows writes of ((Key, Value), Time, i64) updates into an crate::indexed::Indexed via a RuntimeClient.
Implementations
sourceimpl<K: Codec, V: Codec> StreamWriteHandle<K, V>
impl<K: Codec, V: Codec> StreamWriteHandle<K, V>
sourcepub fn stream_name(&self) -> &str
pub fn stream_name(&self) -> &str
Returns the external stream name for this handle.
sourcepub fn write<'a, I>(&self, updates: I) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
where
I: IntoIterator<Item = &'a ((K, V), u64, i64)>,
pub fn write<'a, I>(&self, updates: I) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
where
I: IntoIterator<Item = &'a ((K, V), u64, i64)>,
Asynchronously persists (Key, Value, Time, i64)
updates.
sourcepub fn seal(&self, upper: u64) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
pub fn seal(&self, upper: u64) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
Closes the stream at the given timestamp, migrating data strictly less than it into the trace.
sourcepub fn allow_compaction(&self, since: Antichain<u64>) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
pub fn allow_compaction(&self, since: Antichain<u64>) -> PFuture<SeqNo>ⓘNotable traits for PFuture<T>impl<T> Future for PFuture<T> type Output = Result<T, Error>;
Unblocks compaction for updates at or before since
.
The compaction frontier can never decrease and it is an error to call this function with a since argument that is less than the current compaction frontier.
While it may seem counter-intuitive to advance the compaction frontier past the seal
frontier, this is perfectly valid. It can happen when joining updates from one stream to
updates from another stream, and we already know that the other stream is compacted further
along. Allowing compaction on this, the first stream, then is saying that we are fine with
losing historical detail, and that we already allow compaction of updates that are yet to
come because we don’t need them at their full resolution. A similar case is when we know
that any outstanding queries have an as_of
that is in the future of the seal: we can also
pro-actively allow compaction of updates that did not yet arrive.
Trait Implementations
sourceimpl<K, V> Clone for StreamWriteHandle<K, V>
impl<K, V> Clone for StreamWriteHandle<K, V>
Auto Trait Implementations
impl<K, V> !RefUnwindSafe for StreamWriteHandle<K, V>
impl<K, V> Send for StreamWriteHandle<K, V> where
K: Send,
V: Send,
impl<K, V> Sync for StreamWriteHandle<K, V> where
K: Sync,
V: Sync,
impl<K, V> Unpin for StreamWriteHandle<K, V> where
K: Unpin,
V: Unpin,
impl<K, V> !UnwindSafe for StreamWriteHandle<K, V>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
impl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more