pub struct AuditedDriver<'a> { /* private fields */ }Expand description
A Driver decorator that commits a durable per-write intent before forwarding any live
mutation and records whether the transport accepted or rejected it afterward.
Implementations§
Trait Implementations§
Source§impl Driver for AuditedDriver<'_>
impl Driver for AuditedDriver<'_>
Source§fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
tags: &'life1 [TagId],
) -> Pin<Box<dyn Future<Output = DriverResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
tags: &'life1 [TagId],
) -> Pin<Box<dyn Future<Output = DriverResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn write<'life0, 'life1, 'async_trait>(
&'life0 self,
tag: &'life1 TagId,
value: TagWrite,
) -> Pin<Box<dyn Future<Output = DriverResult<WriteOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write<'life0, 'life1, 'async_trait>(
&'life0 self,
tag: &'life1 TagId,
value: TagWrite,
) -> Pin<Box<dyn Future<Output = DriverResult<WriteOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn browse<'life0, 'async_trait>(
&'life0 self,
request: BrowsePageRequest,
) -> Pin<Box<dyn Future<Output = DriverResult<BrowsePage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn browse<'life0, 'async_trait>(
&'life0 self,
request: BrowsePageRequest,
) -> Pin<Box<dyn Future<Output = DriverResult<BrowsePage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists one bounded page of immediate children. Navigation uses opaque session, node, and
continuation values returned by the driver; callers must not infer hierarchy by parsing
punctuation in an ItemID.
Source§fn capabilities<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DriverCapabilities, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn capabilities<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<DriverCapabilities, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Reports the namespace capabilities of this driver/server pair.
Source§fn close_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn close_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Releases a server-side browse session.
Source§fn search<'life0, 'async_trait>(
&'life0 self,
_request: SearchRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchEvent>, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn search<'life0, 'async_trait>(
&'life0 self,
_request: SearchRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<SearchEvent>, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Collects a bounded namespace search. Drivers that support progressive search may expose
a richer stream through their concrete type; this method is the portable trait surface.
Source§fn search_index_status<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn search_index_status<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Reports the gateway-owned persistent namespace-index status.
Source§fn refresh_search_index<'life0, 'async_trait>(
&'life0 self,
_force: bool,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn refresh_search_index<'life0, 'async_trait>(
&'life0 self,
_force: bool,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Starts or coalesces a persistent namespace-index refresh.
Source§fn control_search_index<'life0, 'async_trait>(
&'life0 self,
_action: SearchIndexControlAction,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn control_search_index<'life0, 'async_trait>(
&'life0 self,
_action: SearchIndexControlAction,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Pauses, resumes, or cancels a persistent namespace-index build.
Source§fn set_search_index_auto_refresh<'life0, 'async_trait>(
&'life0 self,
_enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn set_search_index_auto_refresh<'life0, 'async_trait>(
&'life0 self,
_enabled: bool,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Enables or disables future automatic refreshes for this server’s index.
Source§fn delete_search_index<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn delete_search_index<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexStatus, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Deletes this server’s persistent namespace index and enrollment.
Source§fn search_index<'life0, 'async_trait>(
&'life0 self,
_request: SearchIndexRequest,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexResponse, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn search_index<'life0, 'async_trait>(
&'life0 self,
_request: SearchIndexRequest,
) -> Pin<Box<dyn Future<Output = Result<SearchIndexResponse, DriverError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Queries the gateway-owned persistent namespace index.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for AuditedDriver<'a>
impl<'a> !UnwindSafe for AuditedDriver<'a>
impl<'a> Freeze for AuditedDriver<'a>
impl<'a> Send for AuditedDriver<'a>
impl<'a> Sync for AuditedDriver<'a>
impl<'a> Unpin for AuditedDriver<'a>
impl<'a> UnsafeUnpin for AuditedDriver<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].