systemprompt_identifiers/instance.rs
1//! Replica identity and the keys replicas coordinate on.
2//!
3//! `LeaseKey` names a resource one replica at a time may own for a bounded
4//! time; `AdvisoryLockKey` names a session-scoped cluster-wide lock.
5//!
6//! Copyright (c) systemprompt.io — Business Source License 1.1.
7//! See <https://systemprompt.io> for licensing details.
8
9crate::define_id!(InstanceId, checked, |value| {
10 crate::macros::validate_non_empty("InstanceId", value)
11});
12crate::define_id!(LeaseKey, checked, |value| {
13 crate::macros::validate_non_empty("LeaseKey", value)
14});
15crate::define_id!(AdvisoryLockKey, checked, |value| {
16 crate::macros::validate_non_empty("AdvisoryLockKey", value)
17});