Enum kube_runtime::watcher::Event
source · [−]pub enum Event<K> {
Applied(K),
Deleted(K),
Restarted(Vec<K>),
}
Expand description
Watch events returned from the watcher
Variants
Applied(K)
An object was added or modified
Deleted(K)
An object was deleted
NOTE: This should not be used for managing persistent state elsewhere, since events may be lost if the watcher is unavailable. Use Finalizers instead.
Restarted(Vec<K>)
The watch stream was restarted, so Deleted
events may have been missed
Should be used as a signal to replace the store contents atomically.
Any objects that were previously Applied
but are not listed in this event
should be assumed to have been Deleted
.
Implementations
sourceimpl<K> Event<K>
impl<K> Event<K>
sourcepub fn into_iter_applied(self) -> impl Iterator<Item = K>
pub fn into_iter_applied(self) -> impl Iterator<Item = K>
Flattens out all objects that were added or modified in the event.
Deleted
objects are ignored, all objects mentioned by Restarted
events are
emitted individually.
sourcepub fn into_iter_touched(self) -> impl Iterator<Item = K>
pub fn into_iter_touched(self) -> impl Iterator<Item = K>
Flattens out all objects that were added, modified, or deleted in the event.
Note that Deleted
events may be missed when restarting the stream. Use finalizers
or owner references instead if you care about cleaning up external resources after
deleted objects.
sourcepub fn modify(self, f: impl FnMut(&mut K)) -> Self
pub fn modify(self, f: impl FnMut(&mut K)) -> Self
Map each object in an event through a mutator fn
This allows for memory optimizations in watch streams. If you are chaining a watch stream into a reflector as an in memory state store, you can control the space used by each object by dropping fields.
use k8s_openapi::api::core::v1::Pod;
use kube::ResourceExt;
event.modify(|pod| {
pod.managed_fields_mut().clear();
pod.annotations_mut().clear();
pod.status = None;
});
Trait Implementations
Auto Trait Implementations
impl<K> RefUnwindSafe for Event<K> where
K: RefUnwindSafe,
impl<K> Send for Event<K> where
K: Send,
impl<K> Sync for Event<K> where
K: Sync,
impl<K> Unpin for Event<K> where
K: Unpin,
impl<K> UnwindSafe for Event<K> where
K: UnwindSafe,
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> 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> 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
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
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