Struct wasmbus_rpc::RpcClientSync [−][src]
pub struct RpcClientSync { /* fields omitted */ }
Implementations
Constructs a new synchronous RpcClient parameters: nats client connection, lattice rpc prefix (usually “default”), and secret key for signing messages
pub async fn send_json<Target, Arg, Resp>(
&self,
origin: WasmCloudEntity,
target: Target,
method: &str,
data: JsonValue
) -> Result<JsonValue, RpcError> where
Arg: DeserializeOwned + Serialize,
Resp: DeserializeOwned + Serialize,
Target: Into<WasmCloudEntity>,
pub async fn send_json<Target, Arg, Resp>(
&self,
origin: WasmCloudEntity,
target: Target,
method: &str,
data: JsonValue
) -> Result<JsonValue, RpcError> where
Arg: DeserializeOwned + Serialize,
Resp: DeserializeOwned + Serialize,
Target: Into<WasmCloudEntity>,
Send an rpc message using json-encoded data. Blocks the current thread until response is received.
pub fn send<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
pub fn send<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
Send an rpc message. Blocks the current thread until response is received.
Methods from Deref<Target = RpcClient>
convenience method for returning async client If the client is not the correct type, returns None
convenience method for returning nats::asynk Connection If the client is not the correct type, returns None
pub async fn send_json<Target, Arg, Resp>(
&self,
origin: WasmCloudEntity,
target: Target,
method: &str,
data: JsonValue
) -> Result<JsonValue, RpcError> where
Arg: DeserializeOwned + Serialize,
Resp: DeserializeOwned + Serialize,
Target: Into<WasmCloudEntity>,
pub async fn send_json<Target, Arg, Resp>(
&self,
origin: WasmCloudEntity,
target: Target,
method: &str,
data: JsonValue
) -> Result<JsonValue, RpcError> where
Arg: DeserializeOwned + Serialize,
Resp: DeserializeOwned + Serialize,
Target: Into<WasmCloudEntity>,
Send an rpc message using json-encoded data
pub async fn send<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
pub async fn send<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
Send a wasmbus rpc message by wrapping with an Invocation before sending over nats. ‘target’ may be &str or String for sending to an actor, or a WasmCloudEntity (for actor or provider) If nats client is sync, this can block the current thread. If a response is not received within the default timeout, the Error RpcError::Timeout is returned.
pub async fn send_timeout<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>,
timeout: Duration
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
pub async fn send_timeout<Target>(
&self,
origin: WasmCloudEntity,
target: Target,
message: Message<'_>,
timeout: Duration
) -> Result<Vec<u8>, RpcError> where
Target: Into<WasmCloudEntity>,
Send a wasmbus rpc message, with a timeout. The rpc message is wrapped with an Invocation before sending over nats. ‘target’ may be &str or String for sending to an actor, or a WasmCloudEntity (for actor or provider) If nats client is sync, this can block the current thread until either the response is received, or the timeout expires. If the timeout expires before the response is received, this returns Error RpcError::Timeout.
Send a nats message and wait for the response. This can be used for general nats messages, not just wasmbus actor/provider messages. If the nats client is sync, this can block the current thread