Struct ckb_network::ServiceControl
source · pub struct ServiceControl { /* private fields */ }
Expand description
Service control, used to send commands externally at runtime
Implementations§
source§impl ServiceControl
impl ServiceControl
sourcepub fn protocols(&self) -> &Arc<HashMap<ProtocolId, ProtocolInfo>>
pub fn protocols(&self) -> &Arc<HashMap<ProtocolId, ProtocolInfo>>
Get service protocol message, Map(ID, Name), but can’t modify
sourcepub fn dial(
&self,
address: Multiaddr,
target: TargetProtocol
) -> Result<(), SendErrorKind>
pub fn dial( &self, address: Multiaddr, target: TargetProtocol ) -> Result<(), SendErrorKind>
Initiate a connection request to address
sourcepub fn disconnect(&self, session_id: SessionId) -> Result<(), SendErrorKind>
pub fn disconnect(&self, session_id: SessionId) -> Result<(), SendErrorKind>
Disconnect a connection
sourcepub fn send_message_to(
&self,
session_id: SessionId,
proto_id: ProtocolId,
data: Bytes
) -> Result<(), SendErrorKind>
pub fn send_message_to( &self, session_id: SessionId, proto_id: ProtocolId, data: Bytes ) -> Result<(), SendErrorKind>
Send message
sourcepub fn quick_send_message_to(
&self,
session_id: SessionId,
proto_id: ProtocolId,
data: Bytes
) -> Result<(), SendErrorKind>
pub fn quick_send_message_to( &self, session_id: SessionId, proto_id: ProtocolId, data: Bytes ) -> Result<(), SendErrorKind>
Send message on quick channel
sourcepub fn filter_broadcast(
&self,
target: TargetSession,
proto_id: ProtocolId,
data: Bytes
) -> Result<(), SendErrorKind>
pub fn filter_broadcast( &self, target: TargetSession, proto_id: ProtocolId, data: Bytes ) -> Result<(), SendErrorKind>
Send data to the specified protocol for the specified sessions.
sourcepub fn quick_filter_broadcast(
&self,
target: TargetSession,
proto_id: ProtocolId,
data: Bytes
) -> Result<(), SendErrorKind>
pub fn quick_filter_broadcast( &self, target: TargetSession, proto_id: ProtocolId, data: Bytes ) -> Result<(), SendErrorKind>
Send data to the specified protocol for the specified sessions on quick channel.
sourcepub fn future_task<T>(&self, task: T) -> Result<(), SendErrorKind>
pub fn future_task<T>(&self, task: T) -> Result<(), SendErrorKind>
Send a future task
sourcepub fn open_protocol(
&self,
session_id: SessionId,
proto_id: ProtocolId
) -> Result<(), SendErrorKind>
pub fn open_protocol( &self, session_id: SessionId, proto_id: ProtocolId ) -> Result<(), SendErrorKind>
Try open a protocol
If the protocol has been open, do nothing
sourcepub fn open_protocols(
&self,
session_id: SessionId,
target: TargetProtocol
) -> Result<(), SendErrorKind>
pub fn open_protocols( &self, session_id: SessionId, target: TargetProtocol ) -> Result<(), SendErrorKind>
Try open protocol
If the protocol has been open, do nothing
sourcepub fn close_protocol(
&self,
session_id: SessionId,
proto_id: ProtocolId
) -> Result<(), SendErrorKind>
pub fn close_protocol( &self, session_id: SessionId, proto_id: ProtocolId ) -> Result<(), SendErrorKind>
Try close a protocol
If the protocol has been closed, do nothing
sourcepub fn set_service_notify(
&self,
proto_id: ProtocolId,
interval: Duration,
token: u64
) -> Result<(), SendErrorKind>
pub fn set_service_notify( &self, proto_id: ProtocolId, interval: Duration, token: u64 ) -> Result<(), SendErrorKind>
Set a service notify token
sourcepub fn remove_service_notify(
&self,
proto_id: ProtocolId,
token: u64
) -> Result<(), SendErrorKind>
pub fn remove_service_notify( &self, proto_id: ProtocolId, token: u64 ) -> Result<(), SendErrorKind>
remove a service notify token
sourcepub fn set_session_notify(
&self,
session_id: SessionId,
proto_id: ProtocolId,
interval: Duration,
token: u64
) -> Result<(), SendErrorKind>
pub fn set_session_notify( &self, session_id: SessionId, proto_id: ProtocolId, interval: Duration, token: u64 ) -> Result<(), SendErrorKind>
Set a session notify token
sourcepub fn remove_session_notify(
&self,
session_id: SessionId,
proto_id: ProtocolId,
token: u64
) -> Result<(), SendErrorKind>
pub fn remove_session_notify( &self, session_id: SessionId, proto_id: ProtocolId, token: u64 ) -> Result<(), SendErrorKind>
Remove a session notify token
sourcepub fn close(&self) -> Result<(), SendErrorKind>
pub fn close(&self) -> Result<(), SendErrorKind>
Close service
Order:
- close all listens
- try close all session’s protocol stream
- try close all session
- close service
sourcepub fn shutdown(&self) -> Result<(), SendErrorKind>
pub fn shutdown(&self) -> Result<(), SendErrorKind>
Shutdown service, don’t care anything, may cause partial message loss
Trait Implementations§
source§impl Clone for ServiceControl
impl Clone for ServiceControl
source§fn clone(&self) -> ServiceControl
fn clone(&self) -> ServiceControl
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl From<ServiceAsyncControl> for ServiceControl
impl From<ServiceAsyncControl> for ServiceControl
source§fn from(control: ServiceAsyncControl) -> ServiceControl
fn from(control: ServiceAsyncControl) -> ServiceControl
Auto Trait Implementations§
impl !Freeze for ServiceControl
impl !RefUnwindSafe for ServiceControl
impl Send for ServiceControl
impl Sync for ServiceControl
impl Unpin for ServiceControl
impl !UnwindSafe for ServiceControl
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
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more