pub struct ReadAfterWritePin { /* private fields */ }Expand description
Per-request replica-lag protection: once any Write is acquired through
this pin, all subsequent Reads are upgraded to the primary.
One AtomicBool — create it per request (cheap, no allocation beyond the
stack), never share across requests.
Implementations§
Source§impl ReadAfterWritePin
impl ReadAfterWritePin
pub fn new() -> Self
Sourcepub fn apply(&self, intent: AccessIntent) -> AccessIntent
pub fn apply(&self, intent: AccessIntent) -> AccessIntent
Effective intent after applying the pin, recording writes as they pass.
Trait Implementations§
Source§impl Default for ReadAfterWritePin
impl Default for ReadAfterWritePin
Source§fn default() -> ReadAfterWritePin
fn default() -> ReadAfterWritePin
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ReadAfterWritePin
impl RefUnwindSafe for ReadAfterWritePin
impl Send for ReadAfterWritePin
impl Sync for ReadAfterWritePin
impl Unpin for ReadAfterWritePin
impl UnsafeUnpin for ReadAfterWritePin
impl UnwindSafe for ReadAfterWritePin
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request