pub struct ModuleIpcClient { /* private fields */ }Expand description
IPC client for modules to communicate with node
Implementations§
Source§impl ModuleIpcClient
impl ModuleIpcClient
Sourcepub async fn connect<P>(socket_path: P) -> Result<ModuleIpcClient, ModuleError>
pub async fn connect<P>(socket_path: P) -> Result<ModuleIpcClient, ModuleError>
Connect to node IPC socket
Sourcepub async fn request(
&mut self,
request: RequestMessage,
) -> Result<ResponseMessage, ModuleError>
pub async fn request( &mut self, request: RequestMessage, ) -> Result<ResponseMessage, ModuleError>
Send a request and wait for response
Sourcepub async fn send_log(
&mut self,
level: LogLevel,
module_id: &str,
message: &str,
target: Option<&str>,
) -> Result<(), ModuleError>
pub async fn send_log( &mut self, level: LogLevel, module_id: &str, message: &str, target: Option<&str>, ) -> Result<(), ModuleError>
Send a log message to the node
Sourcepub async fn receive_message(
&mut self,
) -> Result<Option<ModuleMessage>, ModuleError>
pub async fn receive_message( &mut self, ) -> Result<Option<ModuleMessage>, ModuleError>
Receive the next message (blocking). Returns Event, Invocation, or other message types.
Sourcepub async fn send_invocation_result(
&mut self,
result: InvocationResultMessage,
) -> Result<(), ModuleError>
pub async fn send_invocation_result( &mut self, result: InvocationResultMessage, ) -> Result<(), ModuleError>
Send invocation result back to the node
Sourcepub async fn receive_event(
&mut self,
) -> Result<Option<ModuleMessage>, ModuleError>
pub async fn receive_event( &mut self, ) -> Result<Option<ModuleMessage>, ModuleError>
Receive an event message (non-blocking)
Sourcepub fn next_correlation_id(&mut self) -> u64
pub fn next_correlation_id(&mut self) -> u64
Get next correlation ID
Auto Trait Implementations§
impl Freeze for ModuleIpcClient
impl RefUnwindSafe for ModuleIpcClient
impl Send for ModuleIpcClient
impl Sync for ModuleIpcClient
impl Unpin for ModuleIpcClient
impl UnsafeUnpin for ModuleIpcClient
impl UnwindSafe for ModuleIpcClient
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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