wamp_async
An asynchronous WAMP client implementation written in rust.
Usage
For usage examples, see :
-
// Publish event with no arguments and with acknowledgment let ack_id = client.publish.await?; println!;
// Register for events let = client.subscribe.await?; // Wait for the next event match event_queue.recv.await ;
-
// Call endpoint with one argument let = client.call.await?; println!;
// Declare your RPC function async // Register the function let rpc_id = client.register.await?;
Structs Serialization and Deserialization
// Call endpoint with one argument
let = client.call.await?;
// or
let = client.call.await?;
println!;
// Declare your RPC function
async
// Register the function
let rpc_id = client.register.await?;
Features
Feature | Desciption | Status |
---|---|---|
Websocket | Use websocket as the transport | ✔ |
Secure Websocket | Websocket over HTTPS | ✔ |
RawSocket | Use lightweight TCP as the transport | ✔ |
Secure RawSocket | RawSocket with TLS | ✔ |
MsgPack | Use MessagePack for message serialization | ✔ |
JSON | Uses JSON for message serialization | ✔ |
Client
Basic profile :
Feature | Desciption | Status |
---|---|---|
Publisher | Ability to publish messages on topics | ✔ |
Subscriber | Can subscribe and receive events for a topic | ✔ |
Caller | Ability to call RPC endpoints | ✔ |
Callee | Ability to register RPC endpoints | ✔ |
Advanced profile:
Feature | Desciption | Status |
---|---|---|
Client Authentication | Low-level support for Client Authentication (Ticket-based, CRA) | ✔ |
Progressive Calls | Partial results reported from Callee to Caller | help wanted |
License
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.