Replace JSON-RPC with gRPC for Control API
Update Control API specification to use gRPC over Unix socket instead of JSON-RPC 2.0. gRPC provides better type safety, native streaming for events, and auto-generated clients for multi-language integration. architecture.md: - Add decision rationale table (JSON-RPC vs gRPC comparison) - Add full .proto definitions (~200 lines) for musicfs.v1 package - Define MusicFS service with 9 RPC methods: - Daemon: GetStatus, Shutdown - Cache: GetCacheStats, ClearCache, Prefetch (streaming) - Origins: ListOrigins, GetOriginHealth, RescanOrigin (streaming) - Search: Search, SearchStream - Events: SubscribeEvents (server-streaming) - Add grpcurl debugging examples requirements.md: - FR-17.1: Clarify Unix socket uses gRPC - FR-17.2: Upgrade from SHOULD to SHALL for gRPC requirement
This commit is contained in:
@@ -258,8 +258,8 @@ The system provides:
|
||||
|
||||
| ID | Requirement |
|
||||
|----|-------------|
|
||||
| FR-17.1 | The system SHALL expose control via Unix socket |
|
||||
| FR-17.2 | The system SHOULD expose REST/gRPC API |
|
||||
| FR-17.1 | The system SHALL expose control via Unix socket (gRPC) |
|
||||
| FR-17.2 | The system SHALL use gRPC with Protocol Buffers for all control APIs |
|
||||
| FR-17.3 | The system SHALL support cache management commands (clear, refresh, stats) |
|
||||
| FR-17.4 | The system SHALL support runtime configuration changes |
|
||||
| FR-17.5 | The system SHALL support graceful shutdown with drain |
|
||||
|
||||
Reference in New Issue
Block a user