Struct narwhal_network::P2pNetwork
source · [−]pub struct P2pNetwork { /* private fields */ }
Implementations
sourceimpl P2pNetwork
impl P2pNetwork
pub fn new(network: Network) -> Self
pub fn cleanup<'a, I>(&mut self, _to_remove: I)where
I: IntoIterator<Item = &'a Multiaddr>,
pub async fn new_for_single_address(
name: NetworkPublicKey,
address: Address
) -> Self
Trait Implementations
sourceimpl PrimaryToWorkerRpc for P2pNetwork
impl PrimaryToWorkerRpc for P2pNetwork
fn request_batch<'life0, 'life1, 'async_trait>(
&'life0 self,
peer: &'life1 NetworkPublicKey,
batch: BatchDigest
) -> Pin<Box<dyn Future<Output = Result<Option<Batch>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
sourceimpl ReliableNetwork<PrimaryMessage> for P2pNetwork
impl ReliableNetwork<PrimaryMessage> for P2pNetwork
type Response = ()
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peer: NetworkPublicKey,
message: &'life1 PrimaryMessage
) -> Pin<Box<dyn Future<Output = CancelOnDropHandler<Result<Response<()>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peers: Vec<NetworkPublicKey>,
message: &'life1 Request
) -> Pin<Box<dyn Future<Output = Vec<CancelOnDropHandler<Result<Response<Self::Response>>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
sourceimpl ReliableNetwork<PrimaryWorkerMessage> for P2pNetwork
impl ReliableNetwork<PrimaryWorkerMessage> for P2pNetwork
type Response = ()
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peer: NetworkPublicKey,
message: &'life1 PrimaryWorkerMessage
) -> Pin<Box<dyn Future<Output = CancelOnDropHandler<Result<Response<()>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peers: Vec<NetworkPublicKey>,
message: &'life1 Request
) -> Pin<Box<dyn Future<Output = Vec<CancelOnDropHandler<Result<Response<Self::Response>>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
sourceimpl ReliableNetwork<WorkerBatchRequest> for P2pNetwork
impl ReliableNetwork<WorkerBatchRequest> for P2pNetwork
type Response = WorkerBatchResponse
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peer: NetworkPublicKey,
message: &'life1 WorkerBatchRequest
) -> Pin<Box<dyn Future<Output = CancelOnDropHandler<Result<Response<WorkerBatchResponse>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peers: Vec<NetworkPublicKey>,
message: &'life1 Request
) -> Pin<Box<dyn Future<Output = Vec<CancelOnDropHandler<Result<Response<Self::Response>>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
sourceimpl ReliableNetwork<WorkerMessage> for P2pNetwork
impl ReliableNetwork<WorkerMessage> for P2pNetwork
type Response = ()
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peer: NetworkPublicKey,
message: &'life1 WorkerMessage
) -> Pin<Box<dyn Future<Output = CancelOnDropHandler<Result<Response<()>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peers: Vec<NetworkPublicKey>,
message: &'life1 Request
) -> Pin<Box<dyn Future<Output = Vec<CancelOnDropHandler<Result<Response<Self::Response>>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
sourceimpl ReliableNetwork<WorkerPrimaryMessage> for P2pNetwork
impl ReliableNetwork<WorkerPrimaryMessage> for P2pNetwork
type Response = ()
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peer: NetworkPublicKey,
message: &'life1 WorkerPrimaryMessage
) -> Pin<Box<dyn Future<Output = CancelOnDropHandler<Result<Response<()>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn broadcast<'life0, 'life1, 'async_trait>(
&'life0 mut self,
peers: Vec<NetworkPublicKey>,
message: &'life1 Request
) -> Pin<Box<dyn Future<Output = Vec<CancelOnDropHandler<Result<Response<Self::Response>>>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
sourceimpl UnreliableNetwork<PrimaryMessage> for P2pNetwork
impl UnreliableNetwork<PrimaryMessage> for P2pNetwork
type Response = ()
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &PrimaryMessage
) -> Result<JoinHandle<Result<Response<()>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moresourceimpl UnreliableNetwork<PrimaryWorkerMessage> for P2pNetwork
impl UnreliableNetwork<PrimaryWorkerMessage> for P2pNetwork
type Response = ()
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &PrimaryWorkerMessage
) -> Result<JoinHandle<Result<Response<()>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moresourceimpl UnreliableNetwork<WorkerBatchRequest> for P2pNetwork
impl UnreliableNetwork<WorkerBatchRequest> for P2pNetwork
type Response = WorkerBatchResponse
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &WorkerBatchRequest
) -> Result<JoinHandle<Result<Response<WorkerBatchResponse>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moresourceimpl UnreliableNetwork<WorkerMessage> for P2pNetwork
impl UnreliableNetwork<WorkerMessage> for P2pNetwork
type Response = ()
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &WorkerMessage
) -> Result<JoinHandle<Result<Response<()>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moresourceimpl UnreliableNetwork<WorkerPrimaryMessage> for P2pNetwork
impl UnreliableNetwork<WorkerPrimaryMessage> for P2pNetwork
type Response = ()
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &WorkerPrimaryMessage
) -> Result<JoinHandle<Result<Response<()>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moresourceimpl UnreliableNetwork<WorkerSynchronizeMessage> for P2pNetwork
impl UnreliableNetwork<WorkerSynchronizeMessage> for P2pNetwork
type Response = ()
fn unreliable_send(
&mut self,
peer: NetworkPublicKey,
message: &WorkerSynchronizeMessage
) -> Result<JoinHandle<Result<Response<()>>>>
sourcefn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
fn unreliable_broadcast(
&mut self,
peers: Vec<NetworkPublicKey>,
message: &Request
) -> Vec<Result<JoinHandle<Result<Response<Self::Response>>>>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
A: Allocator,
Broadcasts a message to all
peers
passed as an argument.
The attempts to send individual messages are best effort and will not be retried. Read moreAuto Trait Implementations
impl !RefUnwindSafe for P2pNetwork
impl Send for P2pNetwork
impl Sync for P2pNetwork
impl Unpin for P2pNetwork
impl !UnwindSafe for P2pNetwork
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a Request
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read morefn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read morefn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.deref()
into the pipe function.impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read morefn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read morefn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read morefn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read morefn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read morefn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read morefn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more