pub struct Peer { /* private fields */ }
Expand description
Struct representing the Kadcast Network Peer
Implementations
sourceimpl Peer
impl Peer
sourcepub fn new<L: NetworkListen + 'static>(config: Config, listener: L) -> Self
pub fn new<L: NetworkListen + 'static>(config: Config, listener: L) -> Self
Create a Peer.
config
- The Config used to create the Peerlistener
- The NetworkListen impl notified each time a broadcasted message is received from the network
sourcepub async fn alive_nodes(&self, amount: usize) -> Vec<SocketAddr>
pub async fn alive_nodes(&self, amount: usize) -> Vec<SocketAddr>
Return the SocketAddr of a set of random active nodes.
amount
- The max amount of nodes to return
sourcepub async fn broadcast(&self, message: &[u8], height: Option<usize>)
pub async fn broadcast(&self, message: &[u8], height: Option<usize>)
Broadcast a message to the network
Arguments
message
- Byte array containing the message to be broadcastedheight
- (Optional) Overrides default Kadcast broadcast height
Note: The function returns just after the message is put on the internal queue system. It does not guarantee the message will be broadcasted
sourcepub async fn send(&self, message: &[u8], target: SocketAddr)
pub async fn send(&self, message: &[u8], target: SocketAddr)
Send a message to a peer in the network
Arguments
message
- Byte array containing the message to be senttarget
- Receiver address
Note: The function returns just after the message is put on the internal queue system. It does not guarantee the message will be broadcasted
Auto Trait Implementations
impl !RefUnwindSafe for Peer
impl Send for Peer
impl Sync for Peer
impl Unpin for Peer
impl !UnwindSafe for Peer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more