ferrum-interfaces 0.8.4

Core trait contracts for the Ferrum LLM inference engine
Documentation
use serde::{Deserialize, Serialize};
use sha2::{Digest, Sha256};
use std::cell::RefCell;
use std::collections::{BTreeMap, BTreeSet};
use std::fmt;
use std::marker::PhantomData;
use std::mem::ManuallyDrop;
use std::num::NonZeroU64;
use std::sync::atomic::{AtomicBool, AtomicU64, AtomicU8, Ordering};
use std::sync::{Arc, Mutex, OnceLock, RwLock, RwLockReadGuard, Weak};
use tokio::sync::watch;

use super::{
    defer_device_cleanup, deferred_device_cleanup_status, maintain_deferred_device_cleanups,
    new_deferred_device_cleanup_domain, retire_deferred_device_cleanup_domain, AdmissionDecision,
    AdmissionDeferred, AdmissionDemand, AdmissionFitPolicy, AdmissionPreflightDecision,
    AdmissionPressureAction, AdmissionRejected, AllocationKind, AllocationLifetime,
    BatchCapacityClaimDecision, BatchInvocationId, BatchStepId, BufferDescriptor, BufferRequest,
    BufferUsage, CapacityAvailabilityEpoch, CapacityClaimDecision, CapacityDomainId,
    CapacityDomainSpec, CapacityEntry, CapacityEpochs, CapacityUnits, CapacityVector,
    CapacityWaitCondition, CapacityWaitRecheck, DeferredDeviceCleanupDisposition,
    DeferredDeviceCleanupDomainId, DeferredDeviceCleanupMaintenanceReceipt,
    DeferredDeviceCleanupStatus, DeferredDeviceCleanupTask, DeviceBufferRetention,
    DeviceCommandBatch, DeviceDescriptor, DeviceId, DeviceRuntime, DynamicBackingPoolId,
    DynamicBackingPoolSpec, DynamicResourceDescriptor, DynamicResourceShape,
    DynamicStorageAllocator, DynamicStorageProfile, DynamicStorageView, ElementType,
    ExecutionFrameId, ExecutionLane, ExecutionLaneCreationError, ExecutionLaneId, ExecutionPlan,
    FailureDomain, FailureEnvelope, InitialSequenceAdmissionDecision, InvocationLivenessMode,
    LogicalAdmissionCoordinator, LogicalAdmissionCoordinatorId, LogicalAdmissionLease,
    LogicalBatchCapacityLease, LogicalCapacityLease, LogicalRequestLease, NodeId, PlanHash, PlanId,
    PlanNode, RequestAdmissionDecision, RequestAuthorityId, RequestIdentity, ResourceAllocation,
    ResourceId, ResourceWorkShape, RunId, SequenceAuthorityId, StepResourceSlotKind, StreamState,
    TensorAccess, TokenSpanWork, TransactionId, VNextError,
    MAX_DEFERRED_DEVICE_CLEANUP_MAINTENANCE_TASKS,
};

mod contracts;
pub use contracts::*;
mod capacity;
use capacity::*;
mod provisioning;
pub use provisioning::*;
mod allocation;
pub use allocation::*;
mod runtime_driver;
pub use runtime_driver::*;
mod ledger;
pub use ledger::*;
mod recovery;
pub use recovery::*;
mod backing_extent;
use backing_extent::{backing_segment_range, FreeExtentIndex};
pub use backing_extent::{BackingChunkIdentity, BackingSegment};
mod lane_stable_identity;
pub use lane_stable_identity::*;
mod program_binding;
pub use program_binding::*;
mod dynamic_pool;
pub use dynamic_pool::*;
mod maintenance_boundary;
pub use maintenance_boundary::*;
mod lane_stable_arena;
use lane_stable_arena::*;
mod dynamic_pool_set;
pub use dynamic_pool_set::DynamicPoolGrowthBatchReceipt;
use dynamic_pool_set::DynamicPoolSet;
mod dynamic_pool_maintenance;
pub use dynamic_pool_maintenance::*;
mod static_lease;
pub use static_lease::*;
mod work;
pub use work::*;
mod plan_runtime;
pub use plan_runtime::*;
mod request_state_hazard;
pub use request_state_hazard::*;
mod sequence_state;
use sequence_state::*;
mod sequence;
pub use sequence::*;
mod batch;
pub use batch::*;
mod backing_initialization;
pub(crate) use backing_initialization::BackingInitializationEncodeError;
use backing_initialization::PreparedBackingInitializations;
mod invocation;
pub use invocation::*;
mod execution_session;
pub use execution_session::*;
mod transaction;
pub use transaction::*;

#[cfg(test)]
#[path = "resource/dynamic_pool_tests.rs"]
mod dynamic_pool_tests;

#[cfg(test)]
#[path = "resource/sequence_session_frame_tests.rs"]
mod sequence_session_frame_tests;