@@ -10,39 +10,34 @@ Add dependencies in your `Cargo.toml`.
1010
1111``` toml
1212[dependencies ]
13- tokio = " 0.2 "
14- rsocket_rust = " * "
13+ tokio = " 0.3.6 "
14+ rsocket_rust = " 0.7.0 "
1515
16- # choose transport:
17- # rsocket_rust_transport_tcp = "* "
18- # rsocket_rust_transport_websocket = "* "
16+ # add transport dependencies :
17+ # rsocket_rust_transport_tcp = "0.7.0 "
18+ # rsocket_rust_transport_websocket = "0.7.0 "
1919```
2020
2121### Server
2222
2323``` rust
24- #[macro_use]
25- extern crate log;
26-
2724use rsocket_rust :: prelude :: * ;
25+ use rsocket_rust :: utils :: EchoRSocket ;
26+ use rsocket_rust :: Result ;
2827use rsocket_rust_transport_tcp :: TcpServerTransport ;
29- use std :: env;
30- use std :: error :: Error ;
3128
3229#[tokio:: main]
33- async fn main () -> Result <(), Box <dyn Error + Send + Sync >> {
34- env_logger :: builder (). format_timestamp_millis (). init ();
35- let addr = env :: args (). nth (1 ). unwrap_or (" 127.0.0.1:7878" . to_string ());
36-
30+ async fn main () -> Result <()> {
3731 RSocketFactory :: receive ()
38- . transport (TcpServerTransport :: from (addr ))
32+ . transport (TcpServerTransport :: from (" 127.0.0.1:7878 " ))
3933 . acceptor (Box :: new (| setup , _socket | {
40- info! (" accept setup: {:?}" , setup );
34+ println! (" accept setup: {:?}" , setup );
35+ // Use EchoRSocket as example RSocket, you can implement RSocket trait.
4136 Ok (Box :: new (EchoRSocket ))
4237 // Or you can reject setup
4338 // Err(From::from("SETUP_NOT_ALLOW"))
4439 }))
45- . on_start (|| info ! (" +++++++ echo server started! +++++++" ))
40+ . on_start (|| println ! (" +++++++ echo server started! +++++++" ))
4641 . serve ()
4742 . await
4843}
@@ -52,26 +47,25 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {
5247
5348``` rust
5449use rsocket_rust :: prelude :: * ;
50+ use rsocket_rust :: Result ;
5551use rsocket_rust_transport_tcp :: TcpClientTransport ;
5652
5753#[tokio:: main]
58- #[test]
59- async fn test () {
54+ async fn main () -> Result <()> {
6055 let cli = RSocketFactory :: connect ()
61- . acceptor (Box :: new (|| Box :: new (EchoRSocket )))
6256 . transport (TcpClientTransport :: from (" 127.0.0.1:7878" ))
6357 . setup (Payload :: from (" READY!" ))
6458 . mime_type (" text/plain" , " text/plain" )
6559 . start ()
66- . await
67- . unwrap ();
60+ . await ? ;
6861 let req = Payload :: builder ()
6962 . set_data_utf8 (" Hello World!" )
7063 . set_metadata_utf8 (" Rust" )
7164 . build ();
72- let res = cli . request_response (req ). await . unwrap () ;
65+ let res = cli . request_response (req ). await ? ;
7366 println! (" got: {:?}" , res );
7467 cli . close ();
68+ Ok (())
7569}
7670
7771```
0 commit comments