pub struct MESIProtocol { /* private fields */ }Expand description
MESI coherency protocol implementation
Implementations§
Source§impl MESIProtocol
impl MESIProtocol
Sourcepub async fn handle_read(
&self,
key: &CacheKey,
has_other_copy: bool,
) -> Result<Vec<CoherencyMessage>>
pub async fn handle_read( &self, key: &CacheKey, has_other_copy: bool, ) -> Result<Vec<CoherencyMessage>>
Handle read request
Sourcepub async fn handle_write(
&self,
key: &CacheKey,
) -> Result<Vec<CoherencyMessage>>
pub async fn handle_write( &self, key: &CacheKey, ) -> Result<Vec<CoherencyMessage>>
Handle write request
Sourcepub async fn handle_remote_read(
&self,
key: &CacheKey,
) -> Result<CoherencyMessage>
pub async fn handle_remote_read( &self, key: &CacheKey, ) -> Result<CoherencyMessage>
Handle remote read request
Auto Trait Implementations§
impl Freeze for MESIProtocol
impl !RefUnwindSafe for MESIProtocol
impl Send for MESIProtocol
impl Sync for MESIProtocol
impl Unpin for MESIProtocol
impl UnsafeUnpin for MESIProtocol
impl !UnwindSafe for MESIProtocol
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
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