Skip to content

Commit 0e4530b

Browse files
authored
chore: update example code in readme (#47)
Replace cli & proxy.rs in Example
1 parent a5118c3 commit 0e4530b

File tree

1 file changed

+36
-22
lines changed

1 file changed

+36
-22
lines changed

README.md

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,32 @@ rsocket_rust = "0.7.1"
3232
### Server
3333

3434
```rust
35+
extern crate log;
36+
37+
use futures::executor::block_on;
3538
use rsocket_rust::prelude::*;
3639
use rsocket_rust::utils::EchoRSocket;
3740
use rsocket_rust::Result;
38-
use rsocket_rust_transport_tcp::TcpServerTransport;
41+
use rsocket_rust_transport_tcp::*;
3942

4043
#[tokio::main]
4144
async fn main() -> Result<()> {
45+
env_logger::builder().format_timestamp_millis().init();
46+
4247
RSocketFactory::receive()
43-
.transport(TcpServerTransport::from("127.0.0.1:7878"))
44-
.acceptor(Box::new(|setup, _socket| {
45-
println!("accept setup: {:?}", setup);
46-
Ok(Box::new(EchoRSocket))
47-
// Or you can reject setup
48-
// Err(From::from("SETUP_NOT_ALLOW"))
48+
.transport(TcpServerTransport::from("127.0.0.1:7979"))
49+
.acceptor(Box::new(|setup, _sending_socket| {
50+
info!("incoming socket: setup={:?}", setup);
51+
Ok(Box::new(block_on(async move {
52+
RSocketFactory::connect()
53+
.transport(TcpClientTransport::from("127.0.0.1:7878"))
54+
.acceptor(Box::new(|| Box::new(EchoRSocket)))
55+
.setup(Payload::from("I'm Rust!"))
56+
.start()
57+
.await
58+
.unwrap()
59+
})))
4960
}))
50-
.on_start(Box::new(|| println!("+++++++ echo server started! +++++++")))
5161
.serve()
5262
.await
5363
}
@@ -56,28 +66,32 @@ async fn main() -> Result<()> {
5666
### Client
5767

5868
```rust
69+
extern crate log;
70+
5971
use rsocket_rust::prelude::*;
72+
use rsocket_rust::utils::EchoRSocket;
6073
use rsocket_rust::Result;
6174
use rsocket_rust_transport_tcp::TcpClientTransport;
6275

6376
#[tokio::main]
6477
async fn main() -> Result<()> {
65-
let cli = RSocketFactory::connect()
78+
env_logger::builder().format_timestamp_millis().init();
79+
let client = RSocketFactory::connect()
6680
.transport(TcpClientTransport::from("127.0.0.1:7878"))
67-
.setup(Payload::from("READY!"))
68-
.mime_type("text/plain", "text/plain")
69-
.on_close(Box::new(|| println!("connection closed")))
81+
.acceptor(Box::new(|| {
82+
// Return a responder.
83+
Box::new(EchoRSocket)
84+
}))
7085
.start()
71-
.await?;
72-
let req = Payload::builder()
73-
.set_data_utf8("Hello World!")
74-
.set_metadata_utf8("Rust")
75-
.build();
76-
let res = cli.request_response(req).await?;
77-
println!("got: {:?}", res);
78-
79-
// If you want to block until socket disconnected.
80-
cli.wait_for_close().await;
86+
.await
87+
.expect("Connect failed!");
88+
89+
let req = Payload::builder().set_data_utf8("Ping!").build();
90+
91+
match client.request_response(req).await {
92+
Ok(res) => info!("{:?}", res),
93+
Err(e) => error!("{}", e),
94+
}
8195

8296
Ok(())
8397
}

0 commit comments

Comments
 (0)