rninja-daemon Architecture¶
Long-running build daemon.
Responsibilities¶
- Cache parsed manifests
- Schedule build execution
- Manage cache access
- Handle multiple clients
Key Modules¶
| Module | Purpose |
|---|---|
daemon/server.rs |
IPC server |
daemon/session.rs |
Build sessions |
daemon/state.rs |
Cached state |
Design Decisions¶
Single Process¶
One daemon per machine:
- Shared manifest cache
- Coordinated disk access
- Memory efficiency
Session Isolation¶
Each build request:
- Separate session
- Isolated state
- Independent failure handling
Auto-Spawn¶
CLI spawns daemon if needed:
- Transparent to user
- No manual management
- Graceful degradation