pub trait Transport: Send {
// Required methods
fn send(&self, dest_rank: usize, data: &[u8]) -> Result<(), ModelError>;
fn recv(&self, src_rank: usize) -> Result<Vec<u8>, ModelError>;
fn barrier(&self) -> Result<(), ModelError>;
}Expand description
Byte-level communication primitive used by aggregation strategies.
Required Methods§
Sourcefn send(&self, dest_rank: usize, data: &[u8]) -> Result<(), ModelError>
fn send(&self, dest_rank: usize, data: &[u8]) -> Result<(), ModelError>
Send data to the worker with the given rank.
Sourcefn recv(&self, src_rank: usize) -> Result<Vec<u8>, ModelError>
fn recv(&self, src_rank: usize) -> Result<Vec<u8>, ModelError>
Receive data from the worker with the given rank.
Sourcefn barrier(&self) -> Result<(), ModelError>
fn barrier(&self) -> Result<(), ModelError>
Block until all workers reach the barrier.