from typing import Any
from transfer_queue.storage.managers.base import KVStorageManager, StorageManagerFactory
from transfer_queue.utils.zmq_utils import ZMQServerInfo
@StorageManagerFactory.register("MooncakeStore")
class MooncakeStorageManager(KVStorageManager):
"""Storage manager for MooncakeStorage backend.
Key update (upsert) is supported natively via the MooncakeStore client's
``batch_upsert_from`` (zero-copy tensor path) and ``upsert_batch`` (raw bytes
path). See ``mooncake-integration/store/store_py.cpp`` upstream for the
pybind bindings.
"""
def __init__(self, controller_info: ZMQServerInfo, config: dict[str, Any]):
config["client_name"] = "MooncakeStoreClient"
super().__init__(controller_info, config)