Closed
4 of 4 issues completedDescription
Summary description
Replace our current use of TCP and WebSocket communications with gRPC.
Background and problem
We want to unify all communication to a single protocol.
Grounding use-cases
🤷
How to describe, demo and evaluate
A demo would be to spin up a gRPC server in one terminal, connect to it with a web-viewer, and then to log to the server from the logging SDK.
It should run as well as the current solution.
Connecting to grpc://some-ip:port
should work regardless if the thing on the ip is a local OSS Rerun server, or a full-blown storage node.
Designs and plans
- https://www.notion.so/rerunio/gRPC-Architecture-143b24554b198039b3badfad37e2d171?pvs=4
- https://www.notion.so/rerunio/Protobufication-143b24554b19803e83acd5cc34bd5219?pvs=4
Tasks
- Implement
re_grpc_server
#8451 - Implement log sink for in-memory gRPC server #8680
- Implement gRPC log stream #8730
- Migrate all TCP/WS comms to gRPC #8750
Non-goals and won't do
Things we're doing later:
- Two-way communication over gRPC (e.g. catalogue listing)
- Replace
enum LogMsg