Skip to content

Commit f8cd2aa

Browse files
committed
add more readme.
1 parent 3d1b25f commit f8cd2aa

File tree

6 files changed

+95
-1
lines changed

6 files changed

+95
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ async fn test() {
104104
- Transport
105105
- [x] TCP
106106
- [x] Websocket
107-
- [x] WASM: (see example: [https://github.com/jjeffcaii/rsocket-rust-wasm-example](https://github.com/jjeffcaii/rsocket-rust-wasm-example))
107+
- [x] WASM
108108
- Reactor
109109
- [ ] ...
110110
- High Level APIs

rsocket-test/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# RSocket Tests

rsocket-transport-tcp/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# RSocket Transport For TCP

rsocket-transport-wasm/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# RSocket Transport For WebAssembly (Client-Side)
2+
3+
## Example
4+
5+
See: [https://github.com/jjeffcaii/rsocket-rust-wasm-example](https://github.com/jjeffcaii/rsocket-rust-wasm-example))
6+
7+
## TODO
8+
9+
- [ ] MetadataPush
10+
- [ ] FireAndForget
11+
- [x] RequestResponse
12+
- [ ] RequestStream
13+
- [ ] RequestChannel

rsocket-transport-websocket/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# RSocket Transport For Websocket
2+

rsocket/README.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# RSocket Core
2+
3+
## Example
4+
5+
> Here are some example codes which show how RSocket works in Rust.
6+
7+
### Dependencies
8+
9+
Add dependencies in your `Cargo.toml`.
10+
11+
```toml
12+
[dependencies]
13+
tokio = "0.2"
14+
rsocket_rust = "*"
15+
16+
# choose transport:
17+
# rsocket_rust_transport_tcp = "*"
18+
# rsocket_rust_transport_websocket = "*"
19+
```
20+
21+
### Server
22+
23+
```rust
24+
#[macro_use]
25+
extern crate log;
26+
27+
use rsocket_rust::prelude::*;
28+
use rsocket_rust_transport_tcp::TcpServerTransport;
29+
use std::env;
30+
use std::error::Error;
31+
32+
#[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+
37+
RSocketFactory::receive()
38+
.transport(TcpServerTransport::from(addr))
39+
.acceptor(|setup, _socket| {
40+
info!("accept setup: {:?}", setup);
41+
Ok(Box::new(EchoRSocket))
42+
// Or you can reject setup
43+
// Err(From::from("SETUP_NOT_ALLOW"))
44+
})
45+
.on_start(|| info!("+++++++ echo server started! +++++++"))
46+
.serve()
47+
.await
48+
}
49+
```
50+
51+
### Client
52+
53+
```rust
54+
use rsocket_rust::prelude::*;
55+
use rsocket_rust_transport_tcp::TcpClientTransport;
56+
57+
#[tokio::main]
58+
#[test]
59+
async fn test() {
60+
let cli = RSocketFactory::connect()
61+
.acceptor(|| Box::new(EchoRSocket))
62+
.transport(TcpClientTransport::from("127.0.0.1:7878"))
63+
.setup(Payload::from("READY!"))
64+
.mime_type("text/plain", "text/plain")
65+
.start()
66+
.await
67+
.unwrap();
68+
let req = Payload::builder()
69+
.set_data_utf8("Hello World!")
70+
.set_metadata_utf8("Rust")
71+
.build();
72+
let res = cli.request_response(req).await.unwrap();
73+
println!("got: {:?}", res);
74+
cli.close();
75+
}
76+
77+
```

0 commit comments

Comments
 (0)