Skip to content

Commit 4e2c90a

Browse files
committed
docs: update readme
1 parent 233e103 commit 4e2c90a

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

README.md

+14-4
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,29 @@ to build a binary containing only APIs that you need.
3434

3535
### Native
3636

37-
In progress...
37+
Native API uses a custom application layer protocol (RCSP) built on top of TCP/IP. The complete
38+
specification can be found [here](https://github.com/nmezhenskyi/rcs/blob/main/api/native/rcs.md).
39+
The API supports and encourages long-living connections over one-off requests. There are no client
40+
libraries for the RCSP yet, so you would have to implement one according to the specification.
41+
The API supports SSL connections.
3842

3943
### gRPC
4044

41-
In progress...
45+
gRPC API uses `rcs.proto` file, which can be found
46+
[here](https://github.com/nmezhenskyi/rcs/blob/main/api/protobuf/rcs.proto),
47+
to generate the service and proto messages. You should use this file to generate client bindings with
48+
`protoc`. The API supports SSL connections.
4249

4350
### HTTP
4451

45-
In progress...
52+
HTTP API exposes HTTP end-points and communicates using JSON payloads. The OpenAPI specification can be
53+
found [here](https://github.com/nmezhenskyi/rcs/blob/main/api/openapi/rcs.yaml).
4654

4755
## Internals
4856

49-
In progress...
57+
Internally, RCS uses a hash table with strings as keys and stores values in binary representation.
58+
In future releases RCS will support multiple storage & eviction strategies, as well as cache serialization
59+
to disk storage.
5060

5161
## Getting Started
5262

0 commit comments

Comments
 (0)