7 releases
| 0.7.51 | Jan 18, 2026 |
|---|---|
| 0.7.50 | Jan 14, 2026 |
| 0.7.48 | Dec 25, 2025 |
#4 in #retrom
Used in 3 crates
(via retrom-service)
460KB
10K
SLoC
Retrom gRPC Service
The Retrom gRPC Service package provides the core gRPC API implementation for the Retrom video game library management system. It defines a set of specialized service handlers that handle requests from clients through Protocol Buffers and gRPC.
[!TIP] Check out the
retrom-servicepackage for details on setting up the development environment, running the service, and contributing.
Overview
This package implements several gRPC services that handle different aspects of the Retrom application:
- Library Service: Manages game libraries, collections, and content resolution
- Game Service: Handles game metadata, files, and operations
- Platform Service: Provides platform information and management
- Metadata Service: Interfaces with external metadata providers
- Client Service: Manages client registrations and interactions
- Server Service: Provides server information and configuration
- Emulator Service: Manages emulator configurations
- File Explorer Service: Provides filesystem browsing capabilities
- Job Service: Manages background jobs and tasks
- Saves Service: Handles game save files and states
Architecture
The package follows a modular architecture where each service is implemented as a separate handler struct that implements the corresponding gRPC service trait. The main components include:
- Service Handlers: Implement the gRPC service interfaces defined in Protocol Buffers
- Database Integration: Uses Diesel ORM for PostgreSQL database access
- Connection Pooling: Maintains separate connection pools for services with different usage patterns
- Media Cache: Implements caching for game and platform media assets
- Job Management: Provides background processing capabilities
- Content Resolution: Resolves game content, platforms, and metadata
Dependencies
~60–86MB
~1.5M SLoC