]> git.lizzy.rs Git - connect-rs.git/blob - README.md
add documentation prop
[connect-rs.git] / README.md
1 # connect-rs
2
3 This Rust crate provides a reliable, fault-tolerant, and brokerless message-queue abstraction over
4 asynchronous network streams.
5
6 ## Why?
7 When building networked applications, developers shouldn't have to focus on repeatedly solving
8 the problem of reliable, fault-tolerant message delivery over byte-streams. By using a message
9 queue abstraction, crate users can focus on core application logic and leave the low-level
10 networking and message-queue guarantees to the abstraction.
11
12 ## Protobuf
13 This crate relies on the use of [Protocol Buffers](https://developers.google.com/protocol-buffers)
14 due to it being widely adopted and industry-proven. All messages are Protobuf messages that
15 are packed into a Protobuf `Any` type and then sent over the wire. Message recipients must
16 decide what Protobuf message type it is, and correspondingly unpack the `Any` into a particular
17 message type.
18
19 ## Examples
20 Please use the [examples](https://github.com/sachanganesh/connect-rs/tree/main/examples)
21 provided to help understand crate usage.
22
23
24 ## Feature Status
25
26 | Feature                                               | Status        |
27 |-----------------------------------------------------  |--------       |
28 | [TCP Client](examples/tcp-client)                         |    ✓    |
29 | [TCP Server](examples/tcp-echo-server)                    |    ✓    |
30 | [TLS Client](examples/tls-client)                         |    ✓    |
31 | [TLS Server](examples/tls-echo-server)                    |    ✓    |
32 | SCTP Client                                           |               |
33 | SCTP Server                                           |               |
34 | DTLS-SCTP Client                                      |               |
35 | DTLS-SCTP Server                                      |               |