pub struct ServiceAsyncControl { /* private fields */ }Expand description
Service control, used to send commands externally at runtime, All interfaces are async methods
Implementations§
Source§impl ServiceAsyncControl
impl ServiceAsyncControl
Sourcepub async fn listen(&self, address: Multiaddr) -> Result<(), SendErrorKind>
pub async fn listen(&self, address: Multiaddr) -> Result<(), SendErrorKind>
Create a new listener
Sourcepub async fn dial(
&self,
address: Multiaddr,
target: TargetProtocol,
) -> Result<(), SendErrorKind>
pub async fn dial( &self, address: Multiaddr, target: TargetProtocol, ) -> Result<(), SendErrorKind>
Initiate a connection request to address
Sourcepub async fn raw_session<T>(
&self,
raw_session: T,
remote_address: Multiaddr,
info: RawSessionInfo,
) -> Result<(), SendErrorKind>
pub async fn raw_session<T>( &self, raw_session: T, remote_address: Multiaddr, info: RawSessionInfo, ) -> Result<(), SendErrorKind>
Receive an established connection session and build the tentacle protocol on top of it.
Sourcepub async fn disconnect(
&self,
session_id: SessionId,
) -> Result<(), SendErrorKind>
pub async fn disconnect( &self, session_id: SessionId, ) -> Result<(), SendErrorKind>
Disconnect a connection
Sourcepub async fn send_message_to(
&self,
session_id: SessionId,
proto_id: ProtocolId,
data: Bytes,
) -> Result<(), SendErrorKind>
pub async fn send_message_to( &self, session_id: SessionId, proto_id: ProtocolId, data: Bytes, ) -> Result<(), SendErrorKind>
Send message
Sourcepub async fn quick_send_message_to(
&self,
session_id: SessionId,
proto_id: ProtocolId,
data: Bytes,
) -> Result<(), SendErrorKind>
pub async fn quick_send_message_to( &self, session_id: SessionId, proto_id: ProtocolId, data: Bytes, ) -> Result<(), SendErrorKind>
Send message on quick channel
Sourcepub async fn filter_broadcast(
&self,
target: TargetSession,
proto_id: ProtocolId,
data: Bytes,
) -> Result<(), SendErrorKind>
pub async fn filter_broadcast( &self, target: TargetSession, proto_id: ProtocolId, data: Bytes, ) -> Result<(), SendErrorKind>
Send data to the specified protocol for the specified sessions.
Sourcepub async fn quick_filter_broadcast(
&self,
target: TargetSession,
proto_id: ProtocolId,
data: Bytes,
) -> Result<(), SendErrorKind>
pub async 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 async fn future_task<T>(&self, task: T) -> Result<(), SendErrorKind>
pub async fn future_task<T>(&self, task: T) -> Result<(), SendErrorKind>
Send a future task
Sourcepub async fn open_protocol(
&self,
session_id: SessionId,
proto_id: ProtocolId,
) -> Result<(), SendErrorKind>
pub async 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 async fn open_protocols(
&self,
session_id: SessionId,
target: TargetProtocol,
) -> Result<(), SendErrorKind>
pub async fn open_protocols( &self, session_id: SessionId, target: TargetProtocol, ) -> Result<(), SendErrorKind>
Try open protocol
If the protocol has been open, do nothing
Sourcepub async fn close_protocol(
&self,
session_id: SessionId,
proto_id: ProtocolId,
) -> Result<(), SendErrorKind>
pub async 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 async fn set_service_notify(
&self,
proto_id: ProtocolId,
interval: Duration,
token: u64,
) -> Result<(), SendErrorKind>
pub async fn set_service_notify( &self, proto_id: ProtocolId, interval: Duration, token: u64, ) -> Result<(), SendErrorKind>
Set a service notify token
Sourcepub async fn remove_service_notify(
&self,
proto_id: ProtocolId,
token: u64,
) -> Result<(), SendErrorKind>
pub async fn remove_service_notify( &self, proto_id: ProtocolId, token: u64, ) -> Result<(), SendErrorKind>
remove a service notify token
Sourcepub async fn set_session_notify(
&self,
session_id: SessionId,
proto_id: ProtocolId,
interval: Duration,
token: u64,
) -> Result<(), SendErrorKind>
pub async fn set_session_notify( &self, session_id: SessionId, proto_id: ProtocolId, interval: Duration, token: u64, ) -> Result<(), SendErrorKind>
Set a session notify token
Sourcepub async fn remove_session_notify(
&self,
session_id: SessionId,
proto_id: ProtocolId,
token: u64,
) -> Result<(), SendErrorKind>
pub async fn remove_session_notify( &self, session_id: SessionId, proto_id: ProtocolId, token: u64, ) -> Result<(), SendErrorKind>
Remove a session notify token
Sourcepub async fn close(&self) -> Result<(), SendErrorKind>
pub async 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 async fn shutdown(&self) -> Result<(), SendErrorKind>
pub async fn shutdown(&self) -> Result<(), SendErrorKind>
Shutdown service, don’t care anything, may cause partial message loss
Trait Implementations§
Source§impl Clone for ServiceAsyncControl
impl Clone for ServiceAsyncControl
Source§fn clone(&self) -> ServiceAsyncControl
fn clone(&self) -> ServiceAsyncControl
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ServiceAsyncControl
impl Debug for ServiceAsyncControl
Source§impl From<ServiceAsyncControl> for ServiceControl
impl From<ServiceAsyncControl> for ServiceControl
Source§fn from(control: ServiceAsyncControl) -> ServiceControl
fn from(control: ServiceAsyncControl) -> ServiceControl
Source§impl From<ServiceControl> for ServiceAsyncControl
impl From<ServiceControl> for ServiceAsyncControl
Source§fn from(control: ServiceControl) -> ServiceAsyncControl
fn from(control: ServiceControl) -> ServiceAsyncControl
Auto Trait Implementations§
impl !Freeze for ServiceAsyncControl
impl !RefUnwindSafe for ServiceAsyncControl
impl Send for ServiceAsyncControl
impl Sync for ServiceAsyncControl
impl Unpin for ServiceAsyncControl
impl !UnwindSafe for ServiceAsyncControl
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)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