pub struct K2KBarrier {
pub id: MessageId,
pub barrier_id: u64,
pub worker_id: u64,
pub ready_count: u32,
pub total_workers: u32,
}Expand description
K2K barrier synchronization.
Used to synchronize all workers before proceeding to next iteration.
Fields§
§id: MessageIdMessage ID.
barrier_id: u64Barrier ID (iteration-based).
worker_id: u64Worker ID.
ready_count: u32Workers ready count (from worker’s perspective).
total_workers: u32Total workers expected.
Trait Implementations§
Source§impl Archive for K2KBarrier
impl Archive for K2KBarrier
Source§type Archived = ArchivedK2KBarrier
type Archived = ArchivedK2KBarrier
The archived representation of this type. Read more
Source§type Resolver = K2KBarrierResolver
type Resolver = K2KBarrierResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for K2KBarrier
impl Clone for K2KBarrier
Source§fn clone(&self) -> K2KBarrier
fn clone(&self) -> K2KBarrier
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for K2KBarrier
impl Debug for K2KBarrier
Source§impl<__D: Fallible + ?Sized> Deserialize<K2KBarrier, __D> for Archived<K2KBarrier>
impl<__D: Fallible + ?Sized> Deserialize<K2KBarrier, __D> for Archived<K2KBarrier>
Source§fn deserialize(&self, deserializer: &mut __D) -> Result<K2KBarrier, __D::Error>
fn deserialize(&self, deserializer: &mut __D) -> Result<K2KBarrier, __D::Error>
Deserializes using the given deserializer
Source§impl RingKernelHandler<K2KBarrier, K2KBarrierRelease> for PageRank
RingKernelHandler for K2K barrier synchronization.
impl RingKernelHandler<K2KBarrier, K2KBarrierRelease> for PageRank
RingKernelHandler for K2K barrier synchronization.
Implements barrier synchronization for distributed PageRank iterations.
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: K2KBarrier,
) -> Pin<Box<dyn Future<Output = Result<K2KBarrierRelease>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
msg: K2KBarrier,
) -> Pin<Box<dyn Future<Output = Result<K2KBarrierRelease>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle an incoming message. Read more
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Initialize the kernel state. Read more
Source§fn ring_shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn ring_shutdown<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 mut RingContext<'_>,
) -> Pin<Box<dyn Future<Output = Result<(), KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Called when the kernel is being shut down. Read more
Source§fn handle_secure<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 mut SecureRingContext<'life2, 'life3>,
msg: M,
) -> Pin<Box<dyn Future<Output = Result<R, KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
M: 'async_trait,
R: 'async_trait,
Self: Sync + 'async_trait,
fn handle_secure<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
ctx: &'life1 mut SecureRingContext<'life2, 'life3>,
msg: M,
) -> Pin<Box<dyn Future<Output = Result<R, KernelError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
M: 'async_trait,
R: 'async_trait,
Self: Sync + 'async_trait,
Handle a message with security context. Read more
Source§impl RingMessage for K2KBarrier
impl RingMessage for K2KBarrier
Source§fn message_type() -> u64
fn message_type() -> u64
Get the message type discriminator.
Source§fn message_id(&self) -> MessageId
fn message_id(&self) -> MessageId
Get the message ID.
Source§fn correlation_id(&self) -> CorrelationId
fn correlation_id(&self) -> CorrelationId
Get the correlation ID (if any).
Auto Trait Implementations§
impl Freeze for K2KBarrier
impl RefUnwindSafe for K2KBarrier
impl Send for K2KBarrier
impl Sync for K2KBarrier
impl Unpin for K2KBarrier
impl UnwindSafe for K2KBarrier
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.