pub enum FabricError {
LeaseExpired,
Revoked,
CapacityExceeded,
Fenced,
Disconnected,
IoError(i32),
Unsupported,
GpuSessionFailed(u8),
}Expand description
Errors returned by fabric resource operations.
Each variant corresponds to a well-defined failure mode in the fabricBIOS
host API. The host functions return integer status codes which are
translated into these variants by FabricError::from_status.
§Status code mapping
| Code | Variant |
|---|---|
| 0 | Success (no error) |
| -1 | Disconnected |
| -2 | LeaseExpired |
| -3 | Fenced |
| -4 | CapacityExceeded |
| -5 | Unsupported |
| -6 | Revoked |
| other | IoError(code) |
Variants§
LeaseExpired
The lease for this resource has expired.
Returned when an operation targets a resource whose lease has timed out at the control-plane level. The resource may have been reclaimed by the node.
Revoked
The lease was explicitly revoked.
Returned when the resource’s lease has been forcibly revoked by the
control plane (e.g. via REVOKE_BROADCAST, preemption, or WITHDRAW).
Unlike LeaseExpired, this is non-recoverable — the resource was
taken, not timed out.
CapacityExceeded
The requested resource exceeds available capacity.
Returned by builder .acquire() methods when the node cannot satisfy
the minimum capacity constraint, or by block I/O when the LBA is
out of range.
Fenced
The resource has been fenced due to a teardown failure.
A fenced resource cannot accept new leases. This is a terminal state in the fabricBIOS lease model — the node detected that data-plane teardown did not complete cleanly and has locked the resource to prevent data corruption.
Disconnected
The connection to the remote node was lost.
Indicates a transport-level failure (QUIC connection closed, network timeout, or node crash). Retrying with a new connection may succeed if the node recovers.
IoError(i32)
An I/O error with a host-specific status code.
Wraps any status code not covered by the well-known variants above.
The inner i32 is the raw status code returned by the host function.
Unsupported
The requested operation is not supported.
Returned by GPU and CPU modules whose host functions are not yet implemented, or by nodes that do not expose the requested resource type.
GpuSessionFailed(u8)
A GPU session operation failed on the daemon side.
The inner u8 carries the raw
fabricbios_core::gpu_session::SESSION_STATUS_* code
(e.g. SESSION_STATUS_INVALID_HANDLE = 3,
SESSION_STATUS_NO_CONTEXT = 2). Positive, non-zero status values
returned by the fabricbios_gpu_v1 hostcalls surface as this
variant; transport- and lease-level failures still map to the
existing FabricError variants via FabricError::from_status.
Trait Implementations§
Source§impl Clone for FabricError
impl Clone for FabricError
Source§fn clone(&self) -> FabricError
fn clone(&self) -> FabricError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FabricError
impl Debug for FabricError
Source§impl Display for FabricError
impl Display for FabricError
Source§impl Error for FabricError
Available on crate feature std only.
impl Error for FabricError
std only.