pub struct Peer<T: AsyncWrite + Unpin + Send + Sync> {Show 26 fields
mempool: Arc<Mutex<Mempool>>,
blocks_only: bool,
services: ServiceFlags,
user_agent: String,
messages: u64,
start_time: Instant,
last_message: Instant,
last_addrv2: Instant,
last_inv: Instant,
current_best_block: i32,
last_ping: Option<Instant>,
id: u32,
node_tx: UnboundedSender<NodeNotification>,
state: State,
send_headers: bool,
node_requests: UnboundedReceiver<NodeRequest>,
address: LocalAddress,
kind: ConnectionKind,
wants_addrv2: bool,
shutdown: bool,
actor_receiver: UnboundedReceiver<ReaderMessage>,
writer: WriteTransport<T>,
our_user_agent: String,
our_best_block: u32,
cancellation_sender: Option<Sender<()>>,
transport_protocol: TransportProtocol,
}Fields§
§mempool: Arc<Mutex<Mempool>>§blocks_only: bool§services: ServiceFlags§user_agent: String§messages: u64§start_time: Instant§last_message: Instant§last_addrv2: Instant§last_inv: Instant§current_best_block: i32§last_ping: Option<Instant>§id: u32§node_tx: UnboundedSender<NodeNotification>§state: State§send_headers: bool§node_requests: UnboundedReceiver<NodeRequest>§address: LocalAddress§kind: ConnectionKind§wants_addrv2: bool§shutdown: bool§actor_receiver: UnboundedReceiver<ReaderMessage>§writer: WriteTransport<T>§our_user_agent: String§our_best_block: u32§cancellation_sender: Option<Sender<()>>§transport_protocol: TransportProtocolImplementations§
Source§impl<T: AsyncWrite + Unpin + Send + Sync> Peer<T>
impl<T: AsyncWrite + Unpin + Send + Sync> Peer<T>
pub async fn read_loop(self) -> Result<Self, PeerError>
async fn peer_loop_inner(&mut self) -> Result<(), PeerError>
pub async fn handle_node_request( &mut self, request: NodeRequest, ) -> Result<(), PeerError>
pub async fn handle_peer_message( &mut self, message: NetworkMessage, time: Instant, ) -> Result<(), PeerError>
Source§impl<T: AsyncWrite + Unpin + Send + Sync> Peer<T>
impl<T: AsyncWrite + Unpin + Send + Sync> Peer<T>
pub async fn write(&mut self, msg: NetworkMessage) -> Result<(), PeerError>
pub async fn handle_get_data(&mut self, inv: Inventory) -> Result<(), PeerError>
pub fn create_peer<W: AsyncWrite + Unpin + Send + Sync + 'static>( id: u32, address: LocalAddress, mempool: Arc<Mutex<Mempool>>, node_tx: UnboundedSender<NodeNotification>, node_requests: UnboundedReceiver<NodeRequest>, kind: ConnectionKind, actor_receiver: UnboundedReceiver<ReaderMessage>, writer: WriteTransport<W>, our_user_agent: String, our_best_block: u32, cancellation_sender: Sender<()>, transport_protocol: TransportProtocol, )
async fn handle_ping(&mut self, nonce: u64) -> Result<(), PeerError>
async fn handle_version( &mut self, version: VersionMessage, ) -> Result<(), PeerError>
fn send_to_node(&self, message: PeerMessages, time: Instant)
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Peer<T>where
T: Freeze,
impl<T> !RefUnwindSafe for Peer<T>
impl<T> Send for Peer<T>
impl<T> Sync for Peer<T>
impl<T> Unpin for Peer<T>
impl<T> !UnwindSafe for Peer<T>
Blanket Implementations§
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