rsocket-rust is an implementation of the RSocket protocol in Rust(1.39+). It's an alpha version and still under active development. Do not use it in a production environment!
Here are some example codes which show how RSocket works in Rust.
```rust extern crate rsocket_rust; extern crate tokio;
extern crate log; use rsocket_rust::prelude::*; use std::env; use std::error::Error;
async fn main() -> Result<(), Box
RSocketFactory::receive()
.transport(URI::Tcp(addr))
.acceptor(|setup, _socket| {
info!("accept setup: {:?}", setup);
Box::new(EchoRSocket)
})
.serve()
.await
} ```
```rust extern crate rsocket_rust;
use rsocket_rust::prelude::*;
async fn test() { let cli = RSocketFactory::connect() .acceptor(|| Box::new(EchoRSocket)) .transport(URI::Tcp("127.0.0.1:7878".tostring())) .setup(Payload::from("READY!")) .mimetype("text/plain", "text/plain") .start() .await .unwrap(); let req = Payload::builder() .setdatautf8("Hello World!") .setmetadatautf8("Rust") .build(); let res = cli.request_response(req).await.unwrap(); println!("got: {:?}", res); cli.close(); }
```