Trait scuttlebutt::channel::AbstractChannel
source · [−]pub trait AbstractChannel {
Show 26 methods
fn read_bytes(&mut self, bytes: &mut [u8]) -> Result<()>;
fn write_bytes(&mut self, bytes: &[u8]) -> Result<()>;
fn flush(&mut self) -> Result<()>;
fn clone(&self) -> Self
where
Self: Sized;
fn read_vec(&mut self, nbytes: usize) -> Result<Vec<u8>> { ... }
fn write_bool(&mut self, b: bool) -> Result<()> { ... }
fn read_bool(&mut self) -> Result<bool> { ... }
fn write_u8(&mut self, s: u8) -> Result<()> { ... }
fn read_u8(&mut self) -> Result<u8> { ... }
fn write_u16(&mut self, s: u16) -> Result<()> { ... }
fn read_u16(&mut self) -> Result<u16> { ... }
fn write_u32(&mut self, s: u32) -> Result<()> { ... }
fn read_u32(&mut self) -> Result<u32> { ... }
fn write_u64(&mut self, s: u64) -> Result<()> { ... }
fn read_u64(&mut self) -> Result<u64> { ... }
fn write_usize(&mut self, s: usize) -> Result<()> { ... }
fn read_usize(&mut self) -> Result<usize> { ... }
fn write_block(&mut self, b: &Block) -> Result<()> { ... }
fn read_block(&mut self) -> Result<Block> { ... }
fn read_blocks(&mut self, n: usize) -> Result<Vec<Block>> { ... }
fn write_block512(&mut self, b: &Block512) -> Result<()> { ... }
fn read_block512(&mut self) -> Result<Block512> { ... }
fn write_pt(&mut self, pt: &RistrettoPoint) -> Result<()> { ... }
fn read_pt(&mut self) -> Result<RistrettoPoint> { ... }
fn read_serializable<E: CanonicalSerialize>(&mut self) -> Result<E> { ... }
fn write_serializable<E: CanonicalSerialize>(&mut self, x: &E) -> Result<()> { ... }
}
Expand description
A trait for managing I/O. AbstractChannel
s are clonable, and provide basic
read/write capabilities for both common and scuttlebutt-specific types.
Required Methods
sourcefn read_bytes(&mut self, bytes: &mut [u8]) -> Result<()>
fn read_bytes(&mut self, bytes: &mut [u8]) -> Result<()>
Read a slice of u8
s from the channel.
sourcefn write_bytes(&mut self, bytes: &[u8]) -> Result<()>
fn write_bytes(&mut self, bytes: &[u8]) -> Result<()>
Write a slice of u8
s to the channel.
Provided Methods
Read nbytes
from the channel, and return it as a Vec
.
sourcefn write_bool(&mut self, b: bool) -> Result<()>
fn write_bool(&mut self, b: bool) -> Result<()>
Write a bool
to the channel.
sourcefn write_usize(&mut self, s: usize) -> Result<()>
fn write_usize(&mut self, s: usize) -> Result<()>
Write a usize
to the channel.
sourcefn read_usize(&mut self) -> Result<usize>
fn read_usize(&mut self) -> Result<usize>
Read a usize
from the channel.
sourcefn write_block(&mut self, b: &Block) -> Result<()>
fn write_block(&mut self, b: &Block) -> Result<()>
Write a Block
to the channel.
sourcefn read_block(&mut self) -> Result<Block>
fn read_block(&mut self) -> Result<Block>
Read a Block
from the channel.
sourcefn write_block512(&mut self, b: &Block512) -> Result<()>
fn write_block512(&mut self, b: &Block512) -> Result<()>
Write a Block512
to the channel.
sourcefn read_block512(&mut self) -> Result<Block512>
fn read_block512(&mut self) -> Result<Block512>
Read a Block512
from the channel.
sourcefn write_pt(&mut self, pt: &RistrettoPoint) -> Result<()>
fn write_pt(&mut self, pt: &RistrettoPoint) -> Result<()>
Write a RistrettoPoint
to the channel.
sourcefn read_pt(&mut self) -> Result<RistrettoPoint>
fn read_pt(&mut self) -> Result<RistrettoPoint>
Read a RistrettoPoint
from the channel.
sourcefn read_serializable<E: CanonicalSerialize>(&mut self) -> Result<E>
fn read_serializable<E: CanonicalSerialize>(&mut self) -> Result<E>
Read a CanonicalSerialize
object from the channel.
sourcefn write_serializable<E: CanonicalSerialize>(&mut self, x: &E) -> Result<()>
fn write_serializable<E: CanonicalSerialize>(&mut self, x: &E) -> Result<()>
Write a CanonicalSerialize
object to the channel.