Struct mz_storage::controller::collection_mgmt::CollectionManager
source · [−]pub struct CollectionManager {
collections: Arc<Mutex<HashSet<GlobalId>>>,
tx: Sender<(GlobalId, Vec<(Row, Diff)>)>,
}
Fields
collections: Arc<Mutex<HashSet<GlobalId>>>
tx: Sender<(GlobalId, Vec<(Row, Diff)>)>
Implementations
sourceimpl CollectionManager
impl CollectionManager
The CollectionManager
provides two complementary functions:
- Providing an API to append values to a registered set of collections.
For this usecase:
- The
CollectionManager
expects to be the only writer. - Appending to a closed collection panics
- The
- Automatically advancing the timestamp of managed collections every
second. For this usecase:
- The
CollectionManager
handles contention by permitting and ignoring errors. - Closed collections will not panic if they continue receiving these requests.
- The
pub(super) fn new<T: Timestamp + Lattice + Codec64 + From<EpochMillis> + TimestampManipulation>(
write_handle: PersistWorker<T>,
now: NowFn
) -> CollectionManager
sourcepub(super) async fn register_collection(&self, id: GlobalId)
pub(super) async fn register_collection(&self, id: GlobalId)
Registers the collection as one that CollectionManager
will:
- Automatically advance the upper of every second
- Accept appends for. However, note that when appending, the
CollectionManager
expects to be the only writer.
Trait Implementations
sourceimpl Clone for CollectionManager
impl Clone for CollectionManager
sourcefn clone(&self) -> CollectionManager
fn clone(&self) -> CollectionManager
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl !RefUnwindSafe for CollectionManager
impl Send for CollectionManager
impl Sync for CollectionManager
impl Unpin for CollectionManager
impl !UnwindSafe for CollectionManager
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ProgressEventTimestamp for Twhere
T: Data + Debug + Any,
impl<T> ProgressEventTimestamp for Twhere
T: Data + Debug + Any,
sourceimpl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.