fluxrpc-core

Crates.iofluxrpc-core
lib.rsfluxrpc-core
version0.31.0
created_at2025-06-14 23:50:50.664747+00
updated_at2025-06-17 09:17:51.643825+00
descriptionRPC framework supporting multiple protocols and codecs
homepage
repositoryhttps://github.com/codewandler/fluxrpc
max_upload_size
id1712754
size90,278
Timo Friedl (timo-klarshift)

documentation

https://github.com/codewandler/fluxrpc

README

fluxrpc

transport invariant RPC calls


Features

  • transport: direct tokio channel
  • transport: websocket
  • transport: Unix socket
  • transport: TCP
  • transport: UDP

TODO

  • session state similar to actix
  • loadtest

Protocol

Event

An event is defined by event and data property. event is the name of the event and data is the events payload.

{
    "event": "my_custom_event",
    "data": {
        "message": "data can be any payload"
    }
}

{
    "event": "audio_buffer_append",
    "data": "aslkjdlakjdlaksjd"
}

Request

A request must have id, method and params properties. params can be any valid json

{
    "id": "req_1234",
    "method": "add",
    "params": [1, 2, 3]
}
{
    "id": "req_1234",
    "method": "print",
    "params": {"text": "Hello world", "color": false}
}

Response

{
    "id": "req_1234",
    "result": "Hello world"
}
{
    "id": "req_1234",
    "error": {
        "code": 403,
        "message": "Resource access forbidden",
        "data": {
            "username": "you@company.org",
            "roles": ["user"],
            "required_roles": ["manager"]
        }
    }
Commit count: 44

cargo fmt