forked from lei.chen/myxce
34 lines
894 B
Markdown
34 lines
894 B
Markdown
# XCE Controller
|
|
|
|
## Overview
|
|
C daemon managing cluster-level job and queue operations. Acts as the central coordinator between the scheduler, worker nodes, and the Go API server.
|
|
|
|
## Build
|
|
```bash
|
|
# From workspace root
|
|
nix develop
|
|
meson build && ninja -C build
|
|
```
|
|
|
|
## Architecture
|
|
Core source files handle distinct domains:
|
|
- `job.c` — Job lifecycle management
|
|
- `queue.c` — Queue state and control
|
|
- `cluster.c` — Cluster topology
|
|
- `dataex.c` — Data exchange with other daemons
|
|
|
|
Links against `libxce` from `src/lib/`.
|
|
|
|
## Conventions
|
|
- C standard: gnu17
|
|
- Format with `clang-format`
|
|
- Component-specific headers in `include/`
|
|
- Shared types defined in `src/include/xce/` (libxce)
|
|
|
|
## Key Files
|
|
- `src/controller/` — Controller source files
|
|
- `include/` — Controller-specific headers
|
|
|
|
## See Also
|
|
- Shared library: `src/lib/CLAUDE.md`
|
|
- Root guidelines: `CLAUDE.md` (repo root)
|