feat: add memory worker runtime crate

This commit is contained in:
2026-06-26 01:31:09 +09:00
parent f8d3b1cca9
commit 9b2cae32ea
12 changed files with 1325 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
use crate::identity::{RuntimeId, WorkerId};
/// Errors returned by the embedded Runtime API.
#[derive(Debug, thiserror::Error)]
pub enum RuntimeError {
#[error("runtime {runtime_id} is stopped")]
RuntimeStopped { runtime_id: RuntimeId },
#[error(
"worker {worker_id} belongs to runtime {actual_runtime_id}, not runtime {expected_runtime_id}"
)]
WrongRuntime {
expected_runtime_id: RuntimeId,
actual_runtime_id: RuntimeId,
worker_id: WorkerId,
},
#[error("cursor belongs to runtime {actual_runtime_id}, not runtime {expected_runtime_id}")]
WrongRuntimeCursor {
expected_runtime_id: RuntimeId,
actual_runtime_id: RuntimeId,
},
#[error("worker {worker_id} was not found in runtime {runtime_id}")]
WorkerNotFound {
runtime_id: RuntimeId,
worker_id: WorkerId,
},
#[error("limit {requested} exceeds maximum {max}")]
LimitTooLarge { requested: usize, max: usize },
#[error("invalid request: {0}")]
InvalidRequest(String),
#[error("runtime state lock was poisoned")]
StatePoisoned,
}