Smart Byte (1 crate, 2127 LOC, 35 tests)
smart-byte-atproto ATProto (Bluesky federation) adapter.
PLC + did:web resolution; XRPC client; CARv1 encode/decode
with CIDv1 (dag-cbor + raw, SHA-256); sketch MST with
order-independent BLAKE3 root; Repo + UnsignedCommit /
SignedCommit (Ed25519 over CBOR); firehose transport
trait + in-memory impl; AT URI ↔ smart-byte AID bridge
with SAID commitment.
OpenPay (1 crate, 2397 LOC, 44 tests)
op-openbanking UK OBIE R/W v3.1.10/3.1.11, Berlin Group NextGenPSD2
XS2A v1.3.13, STET PSD2 v1.7, Australia CDR Banking v1.31,
FDX v5/v6, SGFinDex shapes. AISP / PISP / PIIS / VRP
traits. FAPI 1.0 Advanced (PS256/ES256, mTLS, RFC 8705
certificate binding, JWK registration). Operators wire
their own JWS signer + HTTP transport — keeps the crate
KMS-agnostic.
EOC (1 crate, 2179 LOC, 32 tests)
eoc-distributed Distributed-inference scheduling. Worker trait with
Capability + Accelerator (CPU/GPU/TPU/NPU/Mixed) +
Load.busyness()/projected_micro_joules()/projected_g_co2e().
RoundRobin / LeastBusy / LatencyWeighted / JouleWeighted
(default) / CarbonWeighted routers. Work-stealing
scheduler. vLLM-style continuous batching with KV-block
budget. Ray-Serve-style auto-scaler with cooldown.
KV-cache-aware sticky-session routing.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
47 lines
1.4 KiB
Rust
47 lines
1.4 KiB
Rust
//! Typed errors for `eoc-distributed`.
|
|
|
|
use thiserror::Error;
|
|
|
|
/// Result alias used throughout this crate.
|
|
pub type Result<T> = std::result::Result<T, DistributedError>;
|
|
|
|
/// All failures surfaced by distributed scheduling, routing, and cluster
|
|
/// coordination.
|
|
#[derive(Debug, Error)]
|
|
pub enum DistributedError {
|
|
/// The cluster has no live workers that can satisfy the request.
|
|
#[error("no workers available")]
|
|
NoWorkers,
|
|
|
|
/// The requested worker id is not in the cluster.
|
|
#[error("unknown worker: {0}")]
|
|
UnknownWorker(String),
|
|
|
|
/// The requested capability is not advertised by any live worker.
|
|
#[error("no worker satisfies capability: {0}")]
|
|
UnsatisfiedCapability(String),
|
|
|
|
/// The scheduler queue is full and cannot accept new work.
|
|
#[error("queue full (cap={0})")]
|
|
QueueFull(usize),
|
|
|
|
/// Heartbeat budget exceeded — the worker is presumed dead.
|
|
#[error("heartbeat timeout for worker {0}")]
|
|
HeartbeatTimeout(String),
|
|
|
|
/// Replica controller refused a scale operation (cap hit / cooldown).
|
|
#[error("scale rejected: {0}")]
|
|
ScaleRejected(String),
|
|
|
|
/// Batch scheduler refused to admit a request.
|
|
#[error("batch admission rejected: {0}")]
|
|
BatchRejected(String),
|
|
|
|
/// Topology builder rejected the configuration.
|
|
#[error("invalid topology: {0}")]
|
|
InvalidTopology(String),
|
|
|
|
/// Catch-all.
|
|
#[error("{0}")]
|
|
Other(String),
|
|
}
|