Trait State
Source pub trait State {
// Required methods
fn get(&mut self, key: &str) -> Option<Value>;
fn set(&mut self, key: &str, value: Value, ttl: Option<u64>) -> bool;
fn delete(&mut self, key: &str) -> bool;
fn exists(&mut self, key: &str) -> bool;
}
Expand description
State - 統一CRUD実装
manifest の _state/_store/_load に従って状態を管理する。
state-engineの唯一の外部向けインターフェース。
状態を取得
- _store から値を取得
- miss時は _load に従い自動ロード
- ロード成功時は _store に保存して返却
§Arguments
key - manifest key (“filename.node.field”)
§Returns
Some(Value) - 値が存在する場合
None - 値が存在せず、ロードも失敗した場合
状態を設定
_store に従って値を保存する。
§Arguments
key - manifest key (“filename.node.field”)
value - 保存する値
ttl - TTL(秒)。KVS使用時のみ有効。Noneの場合はYAML定義に従う
§Returns
状態を削除
_store から該当の {key:value} レコードを削除する。
§Arguments
key - manifest key (“filename.node.field”)
§Returns
true - 削除成功
false - 削除失敗またはキーが存在しない
キーの存在確認(自動ロードなし)
get()と異なり、自動ロードをトリガーしない。
キャッシュとストアのみをチェックする。
§Arguments
key - manifest key (“filename.node.field”)
§Returns
true - キーが存在する(キャッシュまたはストアに存在)
false - キーが存在しない