pub trait CKBProtocolContext: Send {
Show 18 methods fn ckb2021(&self) -> bool; fn set_notify(&self, interval: Duration, token: u64) -> Result<(), Error>; fn remove_notify(&self, token: u64) -> Result<(), Error>; fn quick_send_message(
        &self,
        proto_id: ProtocolId,
        peer_index: PeerIndex,
        data: Bytes
    ) -> Result<(), Error>; fn quick_send_message_to(
        &self,
        peer_index: PeerIndex,
        data: Bytes
    ) -> Result<(), Error>; fn quick_filter_broadcast(
        &self,
        target: TargetSession,
        data: Bytes
    ) -> Result<(), Error>; fn future_task(
        &self,
        task: Pin<Box<dyn Future<Output = ()> + Send + 'static>>,
        blocking: bool
    ) -> Result<(), Error>; fn send_message(
        &self,
        proto_id: ProtocolId,
        peer_index: PeerIndex,
        data: Bytes
    ) -> Result<(), Error>; fn send_message_to(
        &self,
        peer_index: PeerIndex,
        data: Bytes
    ) -> Result<(), Error>; fn filter_broadcast(
        &self,
        target: TargetSession,
        data: Bytes
    ) -> Result<(), Error>; fn disconnect(
        &self,
        peer_index: PeerIndex,
        message: &str
    ) -> Result<(), Error>; fn get_peer(&self, peer_index: PeerIndex) -> Option<Peer>; fn with_peer_mut(
        &self,
        peer_index: PeerIndex,
        f: Box<dyn FnOnce(&mut Peer)>
    ); fn connected_peers(&self) -> Vec<PeerIndex>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
; fn report_peer(&self, peer_index: PeerIndex, behaviour: Behaviour); fn ban_peer(
        &self,
        peer_index: PeerIndex,
        duration: Duration,
        reason: String
    ); fn protocol_id(&self) -> ProtocolId; fn p2p_control(&self) -> Option<&ServiceControl> { ... }
}
Expand description

Abstract protocol context

Required methods

get ckb2021 flag

Set notify to tentacle

Remove notify

Send message through quick queue

Send message through quick queue

Filter broadcast message through quick queue

spawn a future task, if blocking is true we use tokio_threadpool::blocking to handle the task.

Send message

Send message

Filter broadcast message

Disconnect session

Get peer info

Modify peer info

Get all session id

Report peer behavior

Ban peer

current protocol id

Provided methods

Raw tentacle controller

Implementors