15 lines
844 B
Markdown
15 lines
844 B
Markdown
# hive-jobq-wire
|
|
|
|
Wire types for serving a [`hive-jobq`](../hive-jobq) graph to a viewer, plus
|
|
the traits a host implements to say how its graph renders.
|
|
|
|
**Why this is not part of `hive-jobq`.** The scheduler crate is logic: a graph,
|
|
a resource pool, a run loop. Presentation is a different concern with a
|
|
different audience, and folding it in means every consumer of the scheduler
|
|
also carries a JSON vocabulary it may never serve — the two get remixed and
|
|
stay that way. A separate crate keeps that boundary where it can be seen.
|
|
|
|
A host implements `WireNode` for its node payload `N`. `GraphWire::wire_snapshot`
|
|
is then blanket-implemented for `hive_jobq::Graph<N, R>` — so the projection
|
|
exists exactly when the payload has said how it renders, and a payload that
|
|
hasn't cannot reach a viewer at all. Resource edges stay off the wire.
|