meshviz-studio-decentralize.../meshviz/core.py

18 lines
605 B
Python

from typing import Dict, List, Tuple
from .crdt import DeltaCRDT
class DeltaStore:
"""Simple wrapper around DeltaCRDT to expose a store-like interface."""
def __init__(self) -> None:
self.crdt = DeltaCRDT()
def add_local_delta(self, device: str, ts: float, value: float) -> str:
return self.crdt.add_local_delta(device, ts, value)
def merge_remote(self, remote_state: Dict[str, List[Tuple[float, float, str]]]) -> None:
self.crdt.merge(remote_state)
def get_state(self) -> Dict[str, List[Tuple[float, float, str]]]:
return self.crdt.export_state()