feat(server): v2 RPC handler dispatch for all 33 methods
Add v2_handlers module with ServerState, build_registry(), require_auth() helper, and 33 protobuf handlers across 10 files: - auth: 4 OPAQUE handlers (register start/finish, login start/finish) - delivery: 6 handlers (enqueue, fetch, fetch_wait, peek, ack, batch) - keys: 5 handlers (upload/fetch key package, upload/fetch hybrid key/keys) - channel: create_channel - user: resolve_user, resolve_identity - blob: upload_blob, download_blob - device: register, list, revoke - p2p: publish_endpoint, resolve_endpoint, health - federation: 6 stubs (Unimplemented) - account: delete_account All handlers decode protobuf, call domain services, encode response. Auth handlers use full OPAQUE flow with session creation. Delivery handlers include rate limiting and long-poll (fetch_wait).
This commit is contained in:
@@ -14,6 +14,7 @@ quicproquo-core = { path = "../quicproquo-core" }
|
||||
quicproquo-proto = { path = "../quicproquo-proto" }
|
||||
quicproquo-plugin-api = { path = "../quicproquo-plugin-api" }
|
||||
quicproquo-kt = { path = "../quicproquo-kt" }
|
||||
quicproquo-rpc = { path = "../quicproquo-rpc" }
|
||||
|
||||
# Dynamic plugin loading
|
||||
libloading = "0.8"
|
||||
@@ -21,6 +22,8 @@ libloading = "0.8"
|
||||
# Serialisation + RPC
|
||||
capnp = { workspace = true }
|
||||
capnp-rpc = { workspace = true }
|
||||
prost = { workspace = true }
|
||||
bytes = { workspace = true }
|
||||
|
||||
# Async
|
||||
tokio = { workspace = true }
|
||||
|
||||
Reference in New Issue
Block a user