lmcache 0.4.8.dev24__tar.gz → 0.4.8.dev31__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lmcache-0.4.8.dev31/.claude/skills/hybrid-benchmarking/SKILL.md +176 -0
- lmcache-0.4.8.dev31/.github/scripts/download_opt125m_github.sh +58 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/run-cpu-e2e-validation.sh +2 -3
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/cpu_device.yml +4 -7
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/publish.yml +64 -2
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/PKG-INFO +1 -1
- lmcache-0.4.8.dev31/docs/design/v1/distributed/l2_adapters/fault_inject.md +100 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/worker_liveness.md +39 -48
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/nixl.rst +8 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/configuration.rst +22 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/coordinator.rst +11 -2
- lmcache-0.4.8.dev31/docs/source/mp/l2_storage/fault_inject.rst +76 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/supported_storages.rst +4 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/qwen3_5.rst +24 -11
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/_version.py +3 -3
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/command.py +38 -2
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/config.py +2 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/interactive/schema.py +21 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/request_sender.py +16 -1
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/__init__.py +30 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/long_doc_qa.py +9 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/coordinator.py +20 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/vllm_multi_process_adapter.py +18 -3
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/config.py +6 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/config.py +22 -0
- lmcache-0.4.8.dev31/lmcache/v1/distributed/l2_adapters/fault_inject_l2_adapter.py +462 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_manager.py +1 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/event.py +6 -3
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/cb_server.py +11 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/tracing/cb_server.py +25 -9
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/config.py +65 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/custom_types.py +7 -0
- lmcache-0.4.8.dev31/lmcache/v1/multiprocess/engine_module.py +130 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/blend_v3.py +241 -32
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/engine_driven_transfer.py +165 -74
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/lmcache_driven_transfer.py +150 -29
- lmcache-0.4.8.dev31/lmcache/v1/multiprocess/modules/management.py +209 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/controller.py +6 -2
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/server.py +48 -20
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/nixl_storage_backend.py +28 -4
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/PKG-INFO +1 -1
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/SOURCES.txt +8 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/test_config.py +5 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/test_request_sender.py +36 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_create_workload.py +18 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/test_bench_command.py +16 -0
- lmcache-0.4.8.dev31/tests/cli/commands/test_coordinator.py +109 -0
- lmcache-0.4.8.dev31/tests/v1/distributed/test_fault_inject_l2_adapter.py +254 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_prefetch_controller.py +85 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_engine_passthroughs.py +1 -1
- lmcache-0.4.8.dev31/tests/v1/multiprocess/test_worker_liveness.py +311 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_nixl_batched_contains.py +25 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_nixl_storage.py +51 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_vllm_mp_adapter.py +8 -2
- lmcache-0.4.8.dev24/lmcache/v1/multiprocess/engine_module.py +0 -65
- lmcache-0.4.8.dev24/lmcache/v1/multiprocess/modules/management.py +0 -129
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/cases/comprehensive-cases.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/cases/integration-cases.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/async.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/dummy.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/layerwise.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/lmcache_configs/local_cpu_mla.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/local_cpu.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/local_cpu_mla.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/local_cpu_with_v3.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/local_disk.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/local_disk_with_v3.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/multi_device.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/p2p.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/p2p_with_v3.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/configs/pd.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/async_request.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/compare_files.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/mmlu-test.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/pipeline.correctness.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/pipeline.mmlu.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/setup.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/sharegpt2openai.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/correctness/summarize-results.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/ARCHITECTURE.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/ci-base.Dockerfile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/gpu-monitor.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/install-agent-stack.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/setup-cluster.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/setup-env.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/setup-gpu-monitor.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/setup-lmcache-only-env.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/setup-sglang-env.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/smoke-test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/teardown.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_harness/values.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/common_scripts/helpers.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/common_scripts/path-filter.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/common_scripts/upload-pipeline.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/BK_WEB_SETUP.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/scripts/run-single-config.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/comprehensive/scripts/upload-baselines.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/correctness/BK_WEB_SETUP.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/correctness/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/correctness/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/correctness/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/correctness/scripts/run-correctness.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/integration/BK_WEB_SETUP.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/integration/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/integration/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/integration/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/integration/scripts/run-integration.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/BK_WEB_SETUP.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/cleanup.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/launch-processes.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-cache-stats.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-deadlock.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-fault-tolerance.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-gds-smoke.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-hma-lm-eval.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-http-api.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-lm-eval.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-long-doc-qa-l2.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-long-doc-qa.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-mp-test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-restart-recovery.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-single-test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/run-vllm-bench.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/multiprocess/scripts/wait-for-servers.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/BK_WEB_SETUP.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/scripts/common.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/scripts/run-correctness.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/sglang/scripts/run-perf.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/unit/buildkite-pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/unit/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/k3_tests/unit/run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/operator/integration/pipeline.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/operator/integration/tests.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/pipeline.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/pipelines/clean.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/pipelines/comprehensive-tests.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/pipelines/end-to-end-tests.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/pipelines/multiprocessing-test.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/bare-machine-cleanup.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/clean.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/end-to-end-test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/gpu_zombie_killer.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multi-round-qa.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/build-mp-docker-image.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/cleanup.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/common.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/launch-containers.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/run-fault-tolerance.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/run-lm-eval.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/run-long-doc-qa.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/run-mp-test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/run-vllm-bench.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/test-launch.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/multiprocessing-test/wait-for-vllm.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/pick-free-gpu-amd.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/pick-free-gpu.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/should-run-comprehensive.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/vllm-correctness.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/scripts/vllm-integration-tests.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.buildkite/vllm-integration-tests.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.clang-format +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.claude/skills/create-pr/SKILL.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.claude/skills/pr-review/SKILL.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.claude/skills/pre-pr-check/SKILL.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.cursor/BUGBOT.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.gemini/styleguide.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/CODEOWNERS +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/ISSUE_TEMPLATE/blank_issue.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/actions/free-disk-space/action.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/dependabot.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/cpu_device_test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/cpu_server_bench_test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/cpu_vllm_e2e_test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/download_model.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/install_lmcache_cpu.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/scripts/install_vllm_cpu.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/actionlint.dockerfile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/actionlint.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/aerospike_integration.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/automerge-labeler.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/build_cli_artifacts.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/build_cpu_artifacts.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/build_cu129_artifacts.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/build_doc.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/build_main_artifacts.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/code_quality_checks.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/codeql.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/matchers/actionlint.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/matchers/mypy.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/nightly_build.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/operator_ci.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/operator_nightly.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/operator_release.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/pr_full_build.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/scorecard.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/stale_bot.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/sync_torch_version.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/test.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.github/workflows/translate_doc_zh.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.gitignore +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.isort.cfg +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/.pre-commit-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/AGENTS.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/CLAUDE.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/CMakeLists.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/CODE_OF_CONDUCT.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/CONTRIBUTING.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/DCO +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/LICENSE +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/MAINTAINERS.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/MANIFEST.in +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/SECURITY.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/deployment_modes_dark.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/deployment_modes_light.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/ecosystem.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/logo.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/partner_dark.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/asset/partner_light.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/long_doc_qa/long_doc_qa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/long_doc_qa/long_doc_qa_recommender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/microbenchmark/ttl_lock_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_doc_qa/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_doc_qa/lmcache.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_doc_qa/lmcache_blend.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_doc_qa/multi_doc_qa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_doc_qa/shuffle_doc_qa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/data_preprocessing.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/multi-round-qa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/prepare_sharegpt_data.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/requirements.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/multi_round_qa/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/musa/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/musa/bench_inprocess_transfer.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/launch_lmcache.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/launch_vllm.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/precompute.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/rag.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/requirements.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/rag/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/storage_backend_io/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/storage_backend_io/storage_backend_io_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/ttft-estimator/llama-h100-example.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/benchmarks/ttft-estimator/ttft-estimator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/ac_dec.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/ac_enc.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/cachegen_kernels.cuh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/cal_cdf.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/completion_recorder.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/completion_recorder.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/cuda_compat.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/dispatch_utils.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/event_recorder.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/event_recorder.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mem_alloc.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mem_alloc.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mem_kernels.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mem_kernels.cuh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mp_mem_kernels.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/mp_mem_kernels.cuh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/pos_kernels.cu +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/pos_kernels.cuh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/aerospike/connector.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/aerospike/connector.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/aerospike/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/connector_base.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/connector_interface.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/connector_pybind_utils.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/connector_types.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/event_notifier.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/fs/connector.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/fs/connector.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/fs/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/mooncake/connector.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/mooncake/connector.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/mooncake/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/redis/connector.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/redis/connector.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_backends/redis/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/bitmap.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/bitmap.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/periodic_event_notifier.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/periodic_event_notifier.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/ttl_lock.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/ttl_lock.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/utils.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/storage_manager/utils.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/ac_dec_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/ac_enc_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/cachegen_kernels_sycl.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/cal_cdf_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/mem_kernels_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/mem_kernels_sycl.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/pos_kernels_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/sycl/pybind_sycl.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/utils.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/csrc/utils.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/Dockerfile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/Dockerfile.lightweight +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/Dockerfile.rocm +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/Dockerfile.rocm-lightweight +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/Dockerfile.standalone +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/example_build.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docker/example_run.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/Makefile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/coding_standards.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/ARCHITECTURE_MULTI_HARDWARE.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands/bench/engine_bench/bench-engine.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands/describe.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands/kvcache-command.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands/ping.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands/query-command.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/commands.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/cli/framework-and-metrics.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/integration/tensorrt_llm/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/integration/vllm/hybrid-kv-cache-groups.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/integration/vllm/kv_cache_group_edits.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/observability/request-event-span.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/tools/controller_benchmark/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/dax.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/l2_eviction.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/l2_per_user_quota.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/nixl_store.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/overall.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/plugin.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/raw_block.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/l2_adapters/serde_wrapper.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/distributed/serde/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/encoder-cache.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/gpu_connector/layout-invariant.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_coordinator/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_coordinator/blend_lookup.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_coordinator/l2_usage_and_eviction.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/DEBUG.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/EVENTS.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/METRICS.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/blend_v3_observability.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/event-bus.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/mp_observability/trace.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/engine_driven_transfer_design.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/http_api_extension.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/mp_runtime_plugin.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/protocols/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/multiprocess/raw_cuda_ipc.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/pd_async_reservation_design.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/design/v1/platform/event_notifier.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/make.bat +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/.nojekyll +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/basic_codepath.svg +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/bench_interactive_demo.gif +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/custom.css +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/custom.js +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/full_layerwise_diagram.svg +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/kv_cache_calculator.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/modelconfig.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_static/scroll.css +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_templates/custom.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/_templates/versioning.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/api_reference/configurations.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/api_reference/dynamic_connector.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/api_reference/multimodality.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/api_reference/storage_backends.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/InfiniStore-usage.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/lmcache-controller.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/lmcache-logo.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/lmcache-logo_crop.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/maru-kvcache.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/assets/mooncake-store-preview.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/bench.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/coordinator.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/describe.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/kvcache.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/ping.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/query.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/quota.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/server.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/tool.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/cli/trace.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/community/blogs.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/community/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/community/meetings.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/conf.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/controller/freeze_mode.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/controller/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/architecture.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/cli.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/contributing.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/extending_http_api.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/extending_lmcache/native_connectors.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/extending_lmcache/remote_storage_plugins.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/extending_lmcache/runtime_plugins.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/extending_lmcache/storage_plugins.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/integration.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/usage/basic_check.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/usage/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/developer_guide/usage/usage_stats_collection.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/disaggregated_prefill/nixl/1p1d.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/disaggregated_prefill/nixl/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/disaggregated_prefill/nixl/xpyd.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/disaggregated_prefill/shared_storage.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/distributed_kv_cache.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/Installation_compatibility_matrix.csv +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/benchmarking.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/installation.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/kv_cache_calculator.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/disaggregated_prefill.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/multimodality.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/offload_kv_cache.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/share_kv_cache.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart/standalone_starter.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/getting_started/quickstart.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/interacting_with_server.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/internal_api_server/common_apis.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/internal_api_server/controller_apis.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/internal_api_server/dynamic_backend_management.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/internal_api_server/internal_api_server.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/internal_api_server/vllm_apis.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/async_loading.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/caching_policies.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/multiprocess_mode.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/p2p_sharing.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/3fs.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/bigtable.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/cpu_ram.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/custom_backend.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/dax.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/eic.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/fs.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/gds.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/hfbucket.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/infinistore.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/local_storage.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/maru.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/mock.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/mooncake.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/redis.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/resp.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/s3.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/sagemaker_hyperpod.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/valkey.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache/storage_backends/weka.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/check_finish.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/clear.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/compress.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/health.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/lookup.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/move.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/pin.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_management/query_worker_info.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/blending.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/cacheblend.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/compression/cachegen.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/compression/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/layerwise.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/kv_cache_optimizations/segmented_prefill.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/legacy/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/api_reference/configurations.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/api_reference/dynamic_connector.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/api_reference/multimodality.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/api_reference/storage_backends.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/bench.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/coordinator.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/describe.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/kvcache.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/ping.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/query.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/quota.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/server.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/tool.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/cli/trace.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/community/blogs.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/community/meetings.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/controller/freeze_mode.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/controller/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/architecture.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/cli.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/contributing.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/docker_file.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/extending_lmcache/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/extending_lmcache/native_connectors.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/extending_lmcache/remote_storage_plugins.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/extending_lmcache/runtime_plugins.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/extending_lmcache/storage_plugins.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/integration.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/usage/basic_check.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/usage/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/developer_guide/usage/usage_stats_collection.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/disaggregated_prefill/nixl/1p1d.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/disaggregated_prefill/nixl/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/disaggregated_prefill/nixl/xpyd.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/disaggregated_prefill/shared_storage.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/benchmarking.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/faq.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/installation.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/kv_cache_calculator.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/disaggregated_prefill.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/multimodality.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/offload_kv_cache.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/share_kv_cache.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart/standalone_starter.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/quickstart.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/getting_started/troubleshoot.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/internal_api_server/common_apis.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/internal_api_server/controller_apis.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/internal_api_server/dynamic_backend_management.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/internal_api_server/internal_api_server.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/internal_api_server/vllm_apis.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/async_loading.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/caching_policies.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/multiprocess_mode.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/p2p_sharing.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/3fs.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/bigtable.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/cpu_ram.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/custom_backend.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/dax.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/eic.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/fs.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/gds.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/hfbucket.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/infinistore.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/local_storage.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/maru.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/mock.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/mooncake.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/nixl.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/redis.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/resp.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/s3.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/sagemaker_hyperpod.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/valkey.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache/storage_backends/weka.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/check_finish.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/clear.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/compress.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/health.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/lookup.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/move.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/pin.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_management/query_worker_info.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_optimizations/blending.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_optimizations/compression/cachegen.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_optimizations/compression/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/kv_cache_optimizations/layerwise.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/architecture.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/configuration.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/coordinator.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/deployment.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/frontend_dashboard.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/http_api.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/hybrid_models.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/l2_storage.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/observability.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/operator.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/quickstart.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/serde.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/mp/tracing_and_debugging.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/non_kv_cache/encoder_cache.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/docker_deployment.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/kubernetes_deployment.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/kv_cache_events.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/chunk_statistics.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/frontend.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/health_monitor.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/internal_api_server.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/metrics.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/periodic_thread_api.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/observability/vllm_endpoint.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/production/performance_tuning.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/deepseek_v4_flash.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/devstral.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/gemma3.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/gemma4.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/gpt_oss.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/index.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/llama.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/minimax_m2.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/mixtral.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/phi3.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/qwen3.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/locale/zh_CN/LC_MESSAGES/recipes/qwen3_5.po +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/architecture.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/cachegen.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/deployment.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/disaggregated_prefill.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/frontend_dashboard.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/http_api.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/hybrid_models.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/kv_cache_management.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/aerospike.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/dax.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/file_and_block.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/fs.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/fs_native.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/hfbucket.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/mock.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/mooncake_store.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/nixl.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/raw_block.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/remote_and_distributed.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/resp.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/l2_storage/s3.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/observability/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/observability/logs.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/observability/metrics.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/observability/traces.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/operator.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/p2p.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/serde.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/mp/tracing_and_debugging.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/non_kv_cache/encoder_cache.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/non_kv_cache/encodings.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/non_kv_cache/hidden_states.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/non_kv_cache/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/docker_deployment.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/dynamo_coordination.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/kubernetes_deployment.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/kv_cache_events.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/chunk_statistics.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/frontend.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/health_monitor.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/internal_api_server.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/metrics.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/periodic_thread_api.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/observability/vllm_endpoint.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/production/performance_tuning.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/deepseek_v4_flash.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/devstral.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/gemma3.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/gemma4.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/gpt_oss.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/index.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/llama.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/minimax_m2.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/mixtral.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/phi3.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/qwen3.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/docs/source/recipes/uniform_attention_models.rst +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/agents/prefix_analysis.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/agents/requirements.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/basic_check/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/basic_check/example_config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/batched_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/batched_tp_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/blend_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/chunk1.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/chunk2.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/example_blending.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/online_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv/tp_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv_v1/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/blend_kv_v1/blend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/clear/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/clear/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/compress/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/compress/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/health/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/health/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/lookup/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/lookup/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/move/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/move/instance1.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/move/instance2.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/pin/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_controller/pin/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_interface/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_interface/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_with_configs/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/cache_with_configs/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/chunk_statistics/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/chunk_statistics/analyze_chunk_hashes.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/chunk_statistics/auto_stop.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/chunk_statistics/file_hash.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/chunk_statistics/memory_bloom_filter.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/configs/lmcache-decoder-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/configs/lmcache-decoder-pd-with-remote-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/configs/lmcache-prefiller-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/configs/lmcache-prefiller-pd-with-remote-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/disagg_example_1p1d.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/1p1d/disagg_vllm_launcher.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/disagg_proxy_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-decoder-1-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-decoder-1-pd-with-remote-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-decoder-2-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-decoder-2-pd-with-remote-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-prefiller-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/configs/lmcache-prefiller-pd-with-remote-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/disagg_example_xpyd.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill/xpyd/disagg_vllm_launcher.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill_mp/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill_mp/architecture.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/disagg_prefill_mp/disagg_proxy_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/frontend/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/frontend/chat_session.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/frontend/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/frontend/ffmpeg.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/frontend/frontend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kubernetes/health_probe.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_calculator/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_calculator/generate_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_calculator/kv_cache_calculator.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_calculator/modelconfig.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_calculator/requirement.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/local_backends/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/local_backends/offload.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/local_backends/rust_backend_offload.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/external/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/external/backend_type.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/fs/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/infinistore/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/infinistore/backend_type.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/mock/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/mock/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/mooncakestore/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/mooncakestore/mooncake.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/resp/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/resp/benchmark_resp_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/resp/resp.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/s3/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/s3/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/valkey/VALKEY_CONNECTOR_BENCHMARKING.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/valkey/benchmark_l2.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/remote_backends/valkey/valkey.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/centralized_sharing/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/centralized_sharing/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/p2p_sharing/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/p2p_sharing/example1.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/kv_cache_reuse/share_across_instances/p2p_sharing/example2.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_l2_adapter/pyproject.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_l2_adapter/scripts/install_and_test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_l2_adapter/src/lmc_external_l2_adapter/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_l2_adapter/src/lmc_external_l2_adapter/adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_l2_adapter/tests/test_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/csrc/connector.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/csrc/connector.h +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/csrc/pybind.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/pyproject.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/setup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/src/lmc_external_native_connector/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/lmc_external_native_connector/src/lmc_external_native_connector/connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/mp_runtime_plugins/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/mp_runtime_plugins/mp_heartbeat.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/mp_runtime_plugins/mp_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/multi_process/lmcache-daemonset.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/multi_process/vllm-deployment.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/docker-compose.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/grafana/provisioning/dashboards/dashboards.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/grafana/provisioning/dashboards/lmcache.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/grafana/provisioning/datasources/datasources.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/otel-collector.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/prometheus.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/start-server.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/observability/tempo.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/online_session/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/online_session/bench_ttft_sweep.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/online_session/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/online_session/ffmpeg.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/online_session/openai_chat_completion_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/redis_lookup/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/remote_config_server/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/remote_config_server/config_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/remote_config_server/example.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/runtime_plugins/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/runtime_plugins/all_plugin.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/runtime_plugins/scheduler_foo_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/runtime_plugins/worker_0_test.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/serde/fp8/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/serde/fp8/run_serde_fp8_example.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/examples/sgl_integration/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/format.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/banner.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/interactive/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/interactive/config.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/interactive/state.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/interactive/terminal.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/progress.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/stats.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/long_doc_permutator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/multi_round_chat.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/prefix_suffix_tuner.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/engine_bench/workloads/random_prefill.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/l2_adapter_bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/l2_adapter_bench/command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/l2_adapter_bench/data.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/l2_adapter_bench/result.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/l2_adapter_bench/runner.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/server_bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/server_bench/command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/bench/server_bench/helpers.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/describe.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/kvcache.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/mock.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/ping.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/query/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/query/engine_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/query/kvcache_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/query/prompt.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/query/request.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/delete_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/get_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/helpers.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/list_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/quota/set_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/tool/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/tool/cache_simulator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/dispatch.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/driver.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/info_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/replay_command.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/commands/trace/stats.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/documents/lmcache.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/main.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/metrics/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/metrics/formatter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/metrics/handler.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/metrics/metrics.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/cli/metrics/section.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/connections.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/base_service_factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/request_telemetry/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/request_telemetry/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/request_telemetry/factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/request_telemetry/fastapi.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/request_telemetry/noop.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/sglang/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/sglang/multi_process_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/sglang/sglang_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/sglang/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/tensorrt_llm/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/tensorrt_llm/tensorrt_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/tensorrt_llm/tensorrt_mp_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/tensorrt_llm/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/kv_cache_group_edits.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/kv_cache_groups.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/lmcache_connector_v1.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/lmcache_connector_v1_085.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/lmcache_mp_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/lmcache_mp_connector_0180.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/lmcache_mp_connector_0201.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/tests/test_mm_hash_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/vllm_ec_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/vllm_service_factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/integration/vllm/vllm_v1_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/app.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/config.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/heartbeat.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/lmcache_mp_plugin/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/lmcache_mp_plugin/lmcache_mp_frontend_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/run_mp_server_with_frontend.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/static/css/style.css +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/static/img/logo.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/static/index.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/lmcache_frontend/static/js/app.js +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/logging.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/native_storage_ops.pyi +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/observability.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/python_ops_fallback.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/storage_backend/serde/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/storage_backend/serde/cachegen_basics.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/storage_backend/serde/cachegen_decoder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/storage_backend/serde/cachegen_encoder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/storage_backend/serde/serde.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/docs/simulate_example.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/docs/sweep_example.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/gen_bench_dataset.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/lru_cache.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/plot_hit_rate.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/cache_simulator/simulator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/constants.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/admit.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/deregister.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/evict.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/heartbeat.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/p2p_lookup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/controller_benchmark/handlers/register.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/mp_status_viewer/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/mp_status_viewer/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/tools/simple_discover_service.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/usage_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/api_server/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/api_server/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/basic_check.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/commands/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/commands/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/commands/full_sync.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/controller_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/controllers/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/controllers/full_sync_tracker.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/controllers/kv_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/controllers/registration_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/executor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/frontend/static/css/style.css +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/frontend/static/img/logo.png +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/frontend/static/index.html +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/frontend/static/js/controller_app.js +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/full_sync_sender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/locks.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/message.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/observability.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_controller/worker.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/cache_interface.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/check_mode_gen.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/check_mode_test_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/check_mode_test_remote.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/check_mode_test_storage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/check/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/abstract.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/flash_attn.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/flash_infer_sparse.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/metadata.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/triton_kernels/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/triton_kernels/block_sparse_attention.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/triton_sparse.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/attention/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/blend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/blend/blender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/blend/metadata.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/blend/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/models/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/models/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/models/llama.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/models/qwen3.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/models/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/compute/positional_encoding.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/config_base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/error.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction_policy/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction_policy/factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction_policy/isolated_lru.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction_policy/lru.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/eviction_policy/noop.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/internal_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l1_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/aerospike_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/dax_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/fs_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/fs_native_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/hfbucket_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/mock_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/mooncake_store_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/native_connector_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/native_plugin_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/nixl_store_dynamic_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/nixl_store_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/plugin_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/raw_block_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/reconfiguration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/resp_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/s3_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/l2_adapters/serde_wrapper.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/memory_manager/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/memory_manager/gds_l1_memory_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/memory_manager/l1_manager_protocol.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/memory_manager/l1_memory_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/quota_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/asym_k16_v8.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/async_processor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/fp8.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/multi.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/serde/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/eviction_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/prefetch_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/prefetch_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/store_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/distributed/storage_controllers/store_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/ec_engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/event_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/exceptions/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/_cufile_async.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/gds_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/gpu_connectors.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/gpu_ops.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/hpu_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/mock_gpu_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/musa_connectors.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/musa_native.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/gpu_connector/xpu_connectors.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/health_monitor/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/health_monitor/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/health_monitor/checks/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/health_monitor/checks/remote_backend_check.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/health_monitor/constants.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/api_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/api_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/env_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/loglevel_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/metrics_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/periodic_thread_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/run_script_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/common/thread_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/controller/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/controller/key_stats_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/controller/worker_info_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/backend_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/bypass_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/cache_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/chunk_statistics_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/conf_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/freeze_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/hot_cache_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/inference_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/load_fs_chunks_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/lookup_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/internal_api_server/vllm/version_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/kv_codec/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/kv_codec/asym_k16_v8.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/kv_codec/encoded_kv.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/kv_codec/errors.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/kv_layer_groups.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lazy_memory_allocator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/abstract_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/async_lookup_message.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/chunk_statistics_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/hit_limit_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/lmcache_async_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/lmcache_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/lmcache_lookup_client_bypass.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/mooncake_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/record_strategies/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/record_strategies/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/record_strategies/file_hash.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/lookup_client/record_strategies/memory_bloom_filter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/memory_management.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/metadata.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/app.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/blend_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/blend_directory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/http_apis/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/http_apis/blend_directory_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/http_apis/health_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/http_apis/instances_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/http_apis/l2_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/l2/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/l2/event_listener.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/l2/eviction_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/l2/usage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/registrar.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_coordinator/schemas.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/AGENTS.override.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/event_bus.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/otel_init.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/cb_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/l1.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/l2.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/lookup_hash.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/mp_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/logging/sm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/event_bus.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l0_l1_throughput.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l0_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l1.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l1_eviction_loop.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l1_failures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l1_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l2.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l2_failures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/l2_throughput.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/lookup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/sm_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/metrics/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/tracing/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/tracing/mp_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/subscribers/tracing/span_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/codecs.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/decorator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/format.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/reader.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/mp_observability/trace/recorder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/affinity_pool.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/engine_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/futures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/group_view.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_api_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/cache_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/common_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/conf_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/healthcheck_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/quota_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/reconfigure_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/root_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/status_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_apis/version_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/http_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/blend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/lookup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/modules/server_transfer.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/mp_runtime_plugin_launcher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/mq.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/native_completion.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/posix_shm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocol.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/blend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/blend_v2.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/blend_v3.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/debug.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/protocols/observability.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/session.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/token_hasher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/transfer_context/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/transfer_context/base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/transfer_context/pickle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/transfer_context/shm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/multiprocess/transfer_context/worker_transfer.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/offload_server/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/offload_server/abstract_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/offload_server/message.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/offload_server/zmq_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/periodic_thread.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/pin_monitor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/base_cache_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cache_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cpu/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cpu/cache_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cpu/shm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cpu/stub_cpu_device.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cuda/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/cuda/cache_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/platform/event_notifier.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/plugin/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/plugin/runtime_plugin_launcher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/protocol.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/rpc/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/rpc/transport.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/rpc/zmq_transport.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/rpc_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/storage_backend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/storage_backend/abstract_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/storage_backend/local_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/server/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/standalone/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/standalone/__main__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/standalone/manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/standalone/standalone_service_factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/abstract_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/audit_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/batched_message_sender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/base_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/fifo.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/lfu.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/lru.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/cache_policy/mru.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/audit_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/audit_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/base_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/bigtable_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/bigtable_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/bigtable_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/bigtable_schema.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/blackhole_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/blackhole_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/eic_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/eic_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/external_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/fs_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/fs_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/hf3fs_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/hf3fs_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/hfbucket_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/hfbucket_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/infinistore_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/infinistore_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/instrumented_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/lm_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/lm_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/mock_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/mock_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/mooncakestore_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/mooncakestore_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/redis_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/redis_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/s3_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/s3_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/sagemaker_hyperpod_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/sagemaker_hyperpod_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/valkey_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/connector/valkey_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/dax/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/dax/core.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/gds_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/hipfile_shim.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/job_executor/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/job_executor/base_executor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/job_executor/pq_executor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/local_cpu_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/local_disk_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/maru_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/cachegen_basics.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/cachegen_decoder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/cachegen_encoder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/kivi_serde.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/naive_serde.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/naive_serde/serde.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/native_clients/aerospike_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/native_clients/connector_client_base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/native_clients/resp_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/p2p_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/path_sharder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/pd_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/pd_backend_async.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/plugins/dax_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/plugins/rust_raw_block_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/raw_block/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/raw_block/core.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/raw_block/key_codec.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/remote_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/resp_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/storage_backend_listener.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/storage_backend/storage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/system_detection.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/token_database.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/abstract.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/mock_memory_channel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/nixl_channel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/py_socket_channel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/transfer_channel/transfer_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/bloom_filter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/cache_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/json_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/router_discovery.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache/v1/utils/subclass_discovery.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/dependency_links.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/entry_points.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/requires.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/lmcache.egg-info/top_level.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.custom-gcl.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.devcontainer/devcontainer.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.devcontainer/post-install.sh +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.dockerignore +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.golangci.yml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/.pre-commit-config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/AGENTS.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/DESIGN.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/Dockerfile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/Makefile +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/PROJECT +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/cacheblendengine_defaults.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/cacheblendengine_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/cacheblendengine_types.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/cacheblendengine_validation.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/groupversion_info.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/lmcacheengine_defaults.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/lmcacheengine_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/lmcacheengine_types.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/lmcacheengine_validation.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/api/v1alpha1/zz_generated.deepcopy.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/cmd/main.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/certmanager/certificate.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/certmanager/issuer.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/certmanager/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/certmanager/kustomizeconfig.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/crd/bases/lmcache.lmcache.ai_cacheblendengines.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/crd/bases/lmcache.lmcache.ai_lmcacheengines.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/crd/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/crd/kustomizeconfig.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/default/cert_metrics_manager_patch.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/default/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/default/manager_metrics_patch.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/default/manager_webhook_patch.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/default/metrics_service.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/manager/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/manager/manager.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/network-policy/allow-metrics-traffic.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/network-policy/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/prometheus/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/prometheus/monitor.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/prometheus/monitor_tls_patch.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/leader_election_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/leader_election_role_binding.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/lmcacheengine_admin_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/lmcacheengine_editor_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/lmcacheengine_viewer_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/metrics_auth_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/metrics_auth_role_binding.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/metrics_reader_role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/role.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/role_binding.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/rbac/service_account.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/lmcache_v1alpha1_cacheblendengine.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/lmcache_v1alpha1_lmcacheengine.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/lmcache_v1alpha1_lmcacheengine_amd.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/lmcache_v1alpha1_lmcacheengine_l2_redis.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/lmcache_v1alpha1_lmcacheengine_production.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/vllm_cacheblend_deployment.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/samples/vllm_deployment.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/webhook/kustomization.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/webhook/kustomizeconfig.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/webhook/manifests.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/webhook/mutating_webhook_selectors_patch.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/config/webhook/service.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/go.mod +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/go.sum +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/hack/boilerplate.go.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/hack/pre-commit +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/cacheblend_reconcile_helpers.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/cacheblendengine_controller.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/cacheblendengine_controller_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/lmcacheengine_controller.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/lmcacheengine_controller_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/reconcile_helpers.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/reconcile_helpers_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/controller/suite_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/cacheblend_engine.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/cacheblend_engine_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/compute.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/configmap.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/daemonset.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/helpers.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/labels.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/resources_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/service.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/resources/servicemonitor.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/webhook/cacheblend_inject_builders.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/webhook/pod_injector.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/webhook/pod_injector_envtest_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/webhook/pod_injector_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/internal/webhook/webhook_suite_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/build.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/deploy.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/dev.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/e2e-gpu.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/e2e.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/lint.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/tools.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/make/unit.mk +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/auth_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/crd_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/e2e_suite_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/e2e_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/field_coverage_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/lifecycle_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/runtime_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/smoke_helpers_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/e2e/vllm_integration_smoke_test.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/golden/kv_transfer_config_minimal.json +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/lmc_custom_port.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/lmc_minimal.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/lmc_runtime.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/lmc_servicemonitor.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/lmc_with_redis_l2_authsecret.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures/vllm_deployment.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/fixtures.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/http.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/lmc.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/portforward.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/runner.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/utils.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/operator/test/utils/wait.go +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/pyproject.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/pyproject_cli.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/pytest.ini +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/bench.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/build.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/cli.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/common.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/cuda.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/cuda12_core.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/cuda13_core.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/docs.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/lint.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/rocm_core.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/requirements/test.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/rust/raw_block/.gitignore +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/rust/raw_block/Cargo.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/rust/raw_block/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/rust/raw_block/pyproject.toml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/rust/raw_block/src/lib.rs +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup.cfg +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/build_profiles/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/build_profiles/cuda.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/build_profiles/musa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/build_profiles/rocm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/build_profiles/sycl.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/common_cpp.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/storage_backend_profiles/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/storage_backend_profiles/aerospike.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/setup_extensions/storage_backend_profiles/mooncake.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/aerospike_ce.conf.template +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_cachegen.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_musa_inprocess_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_xpu_connector_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_xpu_kernels_microbench.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/benchmarks/test_xpu_layerwise_connector_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/interactive/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/interactive/test_schema.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/interactive/test_state.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/test_progress.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/test_stats.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_base_workload.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_long_doc_permutator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_long_doc_qa.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_multi_round_chat.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_prefix_suffix_tuner.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/engine_bench/workloads/test_random_prefill.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/l2_adapter_bench/test_data.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/bench/test_server_bench.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/test_query.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/test_quota.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/test_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/trace/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/trace/test_dispatch.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/trace/test_driver.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/commands/trace/test_stats.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/conftest.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/test_describe.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/cli/test_ping.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/conftest.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/data/test_creation_from_file/disk.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/data/test_creation_from_file/fail.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/data/test_creation_from_file/hybrid.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/data/test_creation_from_file/local.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/data/test_creation_from_file/remote.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/disagg/README.md +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/disagg/test_nixl_cache_engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/disagg/test_nixl_channel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/disagg/test_nixl_storage_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/lmcache_frontend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/lmcache_frontend/lmcache_mp_plugin/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/lmcache_frontend/lmcache_mp_plugin/test_lmcache_mp_frontend_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/lmcache_frontend/test_heartbeat.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/test_banner.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/test_observability.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/test_serde.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/test_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/tools/test_cache_simulator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/tools/test_controller_zmq_benchmark.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/conftest.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/pytest.ini +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_full_sync.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_full_sync_sender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_kv_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_locks.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_messages.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_registration_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/cache_controller/test_registry_tree.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/compute/attention/test_triton_kernels.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/compute/attention/test_triton_sparse_e2e.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/gds.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/hipfile.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/hipfile_gds.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/nixl.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/nixl_multipath.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/data/test_config.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/conftest.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/memory_manager/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/memory_manager/test_gds_l1_memory_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_asym_k16_v8_multi.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_asym_k16_v8_v_only.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_async_processor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_fp8.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_multi.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_serde_e2e.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_serde_fs_e2e.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/serde/test_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_aerospike_l2_adapter_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_aerospike_l2_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_cache_salt_l2_eviction.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_dax_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_distributed_storage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_fs_l2_adapter_keys.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_hfbucket_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_isolated_lru_eviction_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_l1_l2_state_metrics.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_l1_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_l1_memory_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_l2_adapter_base.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_l2_adapter_factory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_lru_eviction_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_mock_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_mooncake_store_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_multimodel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_native_connector_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_nixl_store_dynamic_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_nixl_store_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_object_key_parallel.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_prefetch_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_quota_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_raw_block_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_report_status.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_resp_env_vars.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_resp_l2_adapter_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_s3_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_store_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/distributed/test_store_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/gpu_connector/test_blocks_first_fused_kv_format.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/gpu_connector/test_concrete_shape.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/gpu_connector/test_gds_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/gpu_connector/test_utils_shape_desc.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_backend_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_cache_clear.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_hot_cache_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_kvcache_check_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_load_fs_chunks.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_lookup_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_per_instance_app.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_run_script.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/allowed_imports.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/basic.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/builtin_functions.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/default_result.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/empty_allowed_imports.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/exception.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/invalid_module.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/math_module.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/multiple_imports.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/os_module.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_scripts/without_allowed_imports.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/internal_api_server/test_worker_info_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/lookup_client/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/lookup_client/test_chunk_statistics_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/lookup_client/test_lmcache_lookup_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_blend_client.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_blend_directory.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_blend_directory_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_eviction_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_health.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_l2_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_registrar.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_coordinator/test_usage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/logging/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/logging/test_cb_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/logging/test_lookup_hash_logger.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/logging/test_mp_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/counter_helpers.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/otel_setup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_cb_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_event_bus_self_metrics.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l0_l1_throughput.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l0_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l1.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l1_eviction_loop.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l1_failures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l1_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l2.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l2_failures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_l2_throughput.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_lookup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/metrics/test_sm_lifecycle.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/tracing/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/tracing/test_cb_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/subscribers/tracing/test_mp_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/test_event_bus.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/test_event_recorder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/test_otel_init.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/test_register_gauge.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/trace/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/trace/test_codecs.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/trace/test_decorator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/mp_observability/trace/test_recorder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/http_apis/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/http_apis/test_common_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/http_apis/test_conf_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/http_apis/test_reconfigure_api.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_affinity_pool.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_batched_iteration_with_skip.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_blend_v3_load_store_opts.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_cache_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_completion_recorder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_compute_mp_checksums.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_custom_types.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_engine_driven_transfer.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_free_locks.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_futures.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_http_api_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_http_quota_endpoints.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_http_server.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_lmcache_driven_layout_registry.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_mp_runtime_plugin_launcher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_mq.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_mq_handler_helpers.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_optimized_lookup_v3.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_posix_shm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_query_lookup_hits.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_raw_block_l2_adapter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_session.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_skip_first_n_tokens.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_token_hasher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/multiprocess/test_unified_touch.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/native_storage_ops/test_bitmap.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/native_storage_ops/test_pattern_matcher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/native_storage_ops/test_periodic_event_notifier.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/native_storage_ops/test_ttl_lock.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/platform/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/platform/test_cache_context_dispatch.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/platform/test_cpu_shm.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/platform/test_gpu_cache_context.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/plugin/test_runtime_plugin_launcher.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/csrc/.gitignore +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/csrc/CMakeLists.txt +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/csrc/shm_file_worker.cpp +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/shmfile_basic_check.yaml +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/shmfile_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/test_shm_allocator.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/shm_allocator/verify_shmfile_tcp.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/__init__.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/raw_block_test_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_audit_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_batched_message_sender.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_bigtable_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_bigtable_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_dax_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_eic.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_fs_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_gds_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_hf3fs_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_hfbucket_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_local_cpu_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_local_cpu_backend_nixl_paged.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_local_disk_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_maru_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_nixl_shared_pool.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_p2p_backend_with_controller.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_path_sharder.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_pd_backend_async.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_pd_backend_bidirectional.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_pd_backend_buffer_alignment.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_raw_block_core.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_raw_block_device.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_raw_block_key_codec.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_raw_block_uring_cmd.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_remote_storage_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_resp_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_rust_raw_block_backend.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_storage_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_storage_plugin.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/storage_backend/test_valkey_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_address_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_basic_check.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_bloom_filter.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_c_ops_fallback_parity.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_cache_engine.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_cache_engine_cleanup.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_cache_interface.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_cache_policy.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_config.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_connector_discovery.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_decode_save_and_preemption.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_device_id_race.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_ec_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_event_notifier.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_freeze_mode_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_gds.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_gpu_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_health_monitor.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_health_monitor_fallback_recovery.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_impl_completeness.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_json_utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_kv_cache_groups.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_kv_layer_groups_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_manager.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_mem_kernels.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_memory_management.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_mp_mem_kernels.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_musa_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_musa_native.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_musa_support.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_nixl_doca_memos.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_nixl_multipath.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_pos_kernels.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_python_ops_fallback.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_remote_metadata.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_remote_mla_worker_id_as0.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_subclass_discovery.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_token_database.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_trtllm_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_v1_adapter_state_desync.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_vllm_integration.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_vllm_kv_cache_groups.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_vllm_layerwise_wait_for_save.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_xpu_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/test_xpu_sglang_connector.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tests/v1/utils.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tools/check_spdx_header.py +0 -0
- {lmcache-0.4.8.dev24 → lmcache-0.4.8.dev31}/tools/translate_docs_zh.py +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hybrid-benchmarking
|
|
3
|
+
description: Benchmark a hybrid-attention model across the LMCache performance ladder (vLLM no-hybrid-allocator → hybrid allocator + prefix caching → hybrid allocator + LMCache) and produce a decode-throughput / TTFT / cache-hit-rate comparison. Use when asked to benchmark, demo, or quantify the value of LMCache caching for a hybrid model.
|
|
4
|
+
allowed-tools: Bash, Read, Grep, Glob, Write
|
|
5
|
+
argument-hint: "<hf-model-id> [--gpus N] [--tp N] [--output-dir DIR]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Hybrid-Model Benchmarking — the LMCache performance ladder
|
|
9
|
+
|
|
10
|
+
Given a hybrid-attention model + hardware, calibrate a `long-doc-qa` workload, run the vLLM
|
|
11
|
+
config ladder, and write `report.md` (launch commands + decode-throughput / TTFT / TPOT /
|
|
12
|
+
hit-rate table + a rationale for every tuned number). Validated on `google/gemma-4-31B-it`
|
|
13
|
+
(sliding-window), `Qwen/Qwen3.6-27B` (Mamba/GDN), and `deepseek-ai/DeepSeek-V4-Flash`
|
|
14
|
+
(sparse-MLA + fp8).
|
|
15
|
+
|
|
16
|
+
> **Run fully autonomously.** Log each decision and keep going through all runs and the
|
|
17
|
+
> report — do **not** pause for approval/calibration confirmation. Only stop on a hard
|
|
18
|
+
> blocker (model not given, gated weights missing). The user interrupts if something's off.
|
|
19
|
+
|
|
20
|
+
## Inputs
|
|
21
|
+
|
|
22
|
+
`$ARGUMENTS`: positional model id (required, e.g. `Qwen/Qwen3.6-27B`); `--gpus N` / `--tp N`
|
|
23
|
+
(default: detect via `nvidia-smi -L`, tp = gpus); `--output-dir DIR` (default
|
|
24
|
+
`./hybrid-bench-<slug>/`). On a shared box, pick free GPUs / non-default ports and never kill
|
|
25
|
+
processes you didn't start.
|
|
26
|
+
|
|
27
|
+
## The ladder
|
|
28
|
+
|
|
29
|
+
Same `long-doc-qa` workload, four vLLM configs — each isolates one variable:
|
|
30
|
+
|
|
31
|
+
| Run | config | what it shows |
|
|
32
|
+
|--|--|--|
|
|
33
|
+
| **A** | allocator off, prefix caching off | baseline: smallest batch → lowest decode tput, worst TTFT |
|
|
34
|
+
| **B** | allocator on, prefix caching off | isolates allocator: packs ~8× more tokens → much higher decode tput |
|
|
35
|
+
| **C** | + `--enable-prefix-caching` (no LMCache) | GPU prefix cache ~0 % hit under batch saturation → ≈ Run B |
|
|
36
|
+
| **D** | + `LMCacheMPConnector` + `lmcache server` | CPU pool serves prefixes → ~100 % hit → lowest TTFT, highest decode tput |
|
|
37
|
+
|
|
38
|
+
Two counterintuitive facts: **(1)** for sliding-window hybrids the allocator gives the
|
|
39
|
+
*larger* batch (sliding layers keep only a window-sized KV slice → ~`num_layers /
|
|
40
|
+
num_full_layers`× more tokens, ≈8× for Gemma-4), so Run A (all layers full) is the
|
|
41
|
+
*smallest*/slowest. **(2)** Run C's GPU prefix cache is ~0 % hit because the active batch's KV
|
|
42
|
+
(`batch × (doc+output)`) fills the whole pool — no blocks left to *retain* prefixes. That
|
|
43
|
+
saturation gap is exactly what LMCache's CPU pool fills.
|
|
44
|
+
|
|
45
|
+
> **Mandatory-allocator models → 3 runs (A ≡ B).** Mamba/GDN (Qwen3.5/3.6, Qwen3-Next) and
|
|
46
|
+
> DeepSeek-V4 sparse-MLA have no allocator-off baseline — `--disable-hybrid-kv-cache-manager`
|
|
47
|
+
> is rejected (Mamba) or fails at runtime (DeepSeek: CuTe sparse-attn needs C128/block_size=8).
|
|
48
|
+
> Drop Run A; the story is the cache (C→D). The full 4-run structure applies only to
|
|
49
|
+
> sliding-window hybrids (Gemma 3/4, gpt-oss).
|
|
50
|
+
|
|
51
|
+
## Make the criteria visible
|
|
52
|
+
|
|
53
|
+
Default `long-doc-qa` is prefill-bound, which *hides* the decode gap. **Always** pass
|
|
54
|
+
`--ignore-eos --ldqa-max-output-length <N>` (≈2048 at L=24 000) → decode-bound *and* deterministic
|
|
55
|
+
(identical total output tokens/run, so decode-throughput numbers are reproducible). Size the
|
|
56
|
+
working set to **overflow the GPU pool but fit the LMCache pool with margin** (step 3).
|
|
57
|
+
|
|
58
|
+
## Procedure
|
|
59
|
+
|
|
60
|
+
**0 — Versions + env.** Record for the report (benchmarks are meaningless without them):
|
|
61
|
+
`vllm --version` (→ commit); LMCache `git rev-parse --short HEAD` + `git status --short` (note
|
|
62
|
+
any local patch, e.g. the `--ignore-eos` / `--ldqa-max-output-length` bench patch → record "base
|
|
63
|
+
commit + with `<patch>`"). Export `HF_HOME` if weights live off-default — for **every** command
|
|
64
|
+
(env doesn't persist across tool calls). Read the model's `docs/source/recipes/*.rst` for
|
|
65
|
+
validated flags + quirks (else `docs/source/mp/hybrid_models.rst`, and warn it's unvalidated).
|
|
66
|
+
Confirm weights are present.
|
|
67
|
+
|
|
68
|
+
**1 — Classify → decide Run A.**
|
|
69
|
+
|
|
70
|
+
| Family | Examples | Run A |
|
|
71
|
+
|--|--|--|
|
|
72
|
+
| Sliding-window + full | Gemma 3/4, gpt-oss | `--disable-hybrid-kv-cache-manager --no-enable-prefix-caching` |
|
|
73
|
+
| Mamba / GDN | Qwen3.5/3.6, Qwen3-Next | allocator mandatory → no Run A; caching is non-bit-exact (GDN) |
|
|
74
|
+
| Sparse-MLA + fp8 | DeepSeek-V4 | allocator mandatory (CuTe needs C128/block_size=8) → no Run A |
|
|
75
|
+
| Dense | Llama, Mistral | not a hybrid; allocator distinction is moot |
|
|
76
|
+
|
|
77
|
+
Classify via the recipe, else HF `config.json` `architectures`/`layer_types`.
|
|
78
|
+
|
|
79
|
+
**2 — Probe pools.** Launch with `--max-model-len auto` (**never pin small** — it shrinks the
|
|
80
|
+
sliding-window pool ~5×). From the startup log record GPU pool tokens for hybrid (`P_B`) and
|
|
81
|
+
hybrid-off (`P_A`); their ratio is the allocator gain. For LMCache, once the server+connector
|
|
82
|
+
engine is up read `cache_size_per_token` from `/status` → `tokens_per_gb = 1024³ / it`; pass it
|
|
83
|
+
via `--tokens-per-gb-kvcache` so `num_documents` is identical across runs. (Real on-pool storage
|
|
84
|
+
≈ 1.4× this — size against that, not the raw number.)
|
|
85
|
+
|
|
86
|
+
**3 — Calibrate.** Util < 0.9; lower it so GPU memory is the binding constraint (0.50 on H200;
|
|
87
|
+
**0.35 for fp8 DeepSeek** — fp8 makes the GPU pool huge). Pick `L` (≤ `P_A`, a sane hybrid batch
|
|
88
|
+
`P_B/(L+output)`, a meaningful prefix). `num_documents = floor(kv_cache_volume_gb × tokens_per_gb
|
|
89
|
+
/ L)` chosen so it **overflows GPU** (`num_docs × L > P_B`) and **fits LMCache with margin**
|
|
90
|
+
(real storage ≈ 1.4×(tokens / tokens_per_gb) ≤ ~0.6 × `l1_size_gb`, watermark 0.95). `l1_size_gb`
|
|
91
|
+
≤ host RAM and /dev/shm. Set `--ldqa-max-output-length` so decode dominates (≈2048 @ L=24 000). Log
|
|
92
|
+
the operating point and proceed.
|
|
93
|
+
|
|
94
|
+
**4 — Freeze one shared config.**
|
|
95
|
+
```bash
|
|
96
|
+
lmcache bench engine --engine-url http://localhost:8000 --workload long-doc-qa \
|
|
97
|
+
--model <model> --tokens-per-gb-kvcache <N> --kv-cache-volume <GB> \
|
|
98
|
+
--ldqa-document-length <L> --ldqa-query-per-document 1 \
|
|
99
|
+
--ldqa-num-inflight-requests <≥ hybrid batch> --ldqa-max-output-length <out> --ignore-eos \
|
|
100
|
+
--no-interactive --export-config "$OUT/shared.json"
|
|
101
|
+
```
|
|
102
|
+
Replay every run with `--config "$OUT/shared.json"` (so `num_documents` is byte-identical, even in A/B with no server).
|
|
103
|
+
|
|
104
|
+
**5 — Run.** Start `lmcache server` **first** so its pinned pool pre-expands (lazy ~80 GiB/min) before D:
|
|
105
|
+
```bash
|
|
106
|
+
lmcache server --port 5560 --http-port 8090 --prometheus-port 9099 \
|
|
107
|
+
--l1-size-gb <GB> --eviction-policy LRU --eviction-trigger-watermark 0.95 [--chunk-size N]
|
|
108
|
+
```
|
|
109
|
+
Each run: launch engine → poll `curl -sf :8000/health` → snapshot metrics (step 6) → bench → teardown. `<base>` = recipe flags (`--tensor-parallel-size`, `--trust-remote-code`, …).
|
|
110
|
+
```bash
|
|
111
|
+
# Run-flags appended to <base>:
|
|
112
|
+
# A --disable-hybrid-kv-cache-manager --no-enable-prefix-caching (skip for mandatory-allocator families)
|
|
113
|
+
# B --no-enable-prefix-caching
|
|
114
|
+
# C --enable-prefix-caching
|
|
115
|
+
# D C + --kv-transfer-config '{"kv_connector":"LMCacheMPConnector","kv_role":"kv_both","kv_connector_extra_config":{"lmcache.mp.port":5560,"lmcache.mp.mq_timeout":900}}'
|
|
116
|
+
vllm serve <model> <base> --gpu-memory-utilization <U> --max-model-len auto --port 8000 <run-flags>
|
|
117
|
+
lmcache bench engine --engine-url http://localhost:8000 --config "$OUT/shared.json" \
|
|
118
|
+
--no-interactive --json --output-dir "$OUT/run-<A|B|C|D>"
|
|
119
|
+
```
|
|
120
|
+
**Run D at steady state:** bench **twice** — run #1 primes, run #2 measures; report run #2's delta. First confirm the pool is pinned (`/status memory_total_bytes ≈ l1`) and the engine registered (`cache_context_meta` non-empty).
|
|
121
|
+
**Teardown by PID, not pattern:** `pkill -f "vllm serve …"` self-matches (exit 144) and orphans EngineCore/Workers that keep holding GPU memory. Kill the main PID + worker PIDs from `nvidia-smi --query-compute-apps`; kill `lmcache server` cleanly; verify GPUs return to ~0 MiB.
|
|
122
|
+
|
|
123
|
+
**6 — Metrics.** Bench JSON `results`: `mean_ttft_ms`, `p90/p99_ttft_ms`, `output_throughput`
|
|
124
|
+
(decode), `input_throughput` (prefill), `mean_decode_speed` (TPOT = 1000/it),
|
|
125
|
+
`total_output_tokens`. **Hit rate from vLLM `:8000/metrics`** (LMCache Prometheus is often
|
|
126
|
+
disabled in MP builds): `prefix_cache_*` (GPU-local), `external_prefix_cache_*` (LMCache).
|
|
127
|
+
Snapshot before/after each bench; for D report the measure-run delta and prefer the
|
|
128
|
+
`external_prefix_cache_*` token counters.
|
|
129
|
+
|
|
130
|
+
**7 — Report `$OUT/report.md`.** Header: versions, hardware, TP. **(a)** exact launch commands
|
|
131
|
+
(server + runs + bench; note D's prime+measure double-run). **(b)** table: decode tput,
|
|
132
|
+
mean/p90/p99 TTFT, TPOT, prefill tput, hit rate, wall-clock, GPU pool tokens, effective batch.
|
|
133
|
+
**(c)** rationale + findings, validating the criteria explicitly: A→B decode jumps (≈8× batch);
|
|
134
|
+
B→C ≈ no change (0 % hit, saturated); C→D TTFT collapses + decode rises (hit ~100 %).
|
|
135
|
+
|
|
136
|
+
## Family turnkey configs
|
|
137
|
+
|
|
138
|
+
**Mamba/GDN** (Qwen3.5/3.6, …): every run uses `--mamba-cache-mode align
|
|
139
|
+
--max-num-batched-tokens 2N-1`, where N is the unified block size (vLLM logs `Setting attention
|
|
140
|
+
block size to N tokens`; also set server `--chunk-size N`). **Use 2N-1, not N** — at exactly N a
|
|
141
|
+
decoding request consumes the per-step budget, so a new request's block-aligned prefill rounds
|
|
142
|
+
to 0 tokens → serial execution (Running:1, ~7× slower; verified by single-variable A/B). Also
|
|
143
|
+
`--max-num-seqs ≤ #Mamba cache blocks` vLLM reports, or CUDA-graph capture fails.
|
|
144
|
+
|
|
145
|
+
**DeepSeek-V4 sparse-MLA + fp8**: `export CUDA_HOME=/usr/local/cuda-<ver>
|
|
146
|
+
PATH=$CUDA_HOME/bin:$PATH` (sparse-attn JIT fails on the default toolchain) for **every** launch;
|
|
147
|
+
flags `--kv-cache-dtype fp8_ds_mla --trust-remote-code --tokenizer-mode deepseek_v4
|
|
148
|
+
--enable-expert-parallel`. **Util ≈0.35** (at 0.80 the fp8 GPU pool swallows the whole working
|
|
149
|
+
set → nothing for LMCache to serve); large `--l1-size-gb` (full per-token state ~62 KB,
|
|
150
|
+
`tokens_per_gb ≈ 16 800`).
|
|
151
|
+
|
|
152
|
+
## Troubleshooting
|
|
153
|
+
|
|
154
|
+
| Symptom | Fix |
|
|
155
|
+
|--|--|
|
|
156
|
+
| B decode ≈ A (not ≫) | run is prefill-bound — add `--ignore-eos`, raise `--ldqa-max-output-length` |
|
|
157
|
+
| D hit ≪ 100 % | working set hit the watermark mid-fill — pre-pin before D; raise `--l1-size-gb`; shrink working set (real ≈1.4× est.) |
|
|
158
|
+
| D aborts "register_kv_caches within 300s" | big pinned pool → set `lmcache.mp.mq_timeout` ≥ 900 |
|
|
159
|
+
| reg hangs "Wrapping N KV tensors for IPC" | server/connector transfer-mode mismatch — use default (auto) on both |
|
|
160
|
+
| pool ~5× too small | `--max-model-len` pinned — use `auto` |
|
|
161
|
+
| `exit 144` / leaked GPU after kill | `pkill` self-matched / orphaned workers — kill by PID (main + `nvidia-smi` workers) |
|
|
162
|
+
| "CUDA compiler … headers are incompatible" (DeepSeek) | set `CUDA_HOME` matching torch's CUDA, every launch |
|
|
163
|
+
| "CuTe DSL … only supports C128 block_size=8" | tried to disable the allocator on DeepSeek — don't; it's mandatory (3 runs) |
|
|
164
|
+
| fp8: D ~100 % but no saturation / nothing to serve | GPU pool fits the whole working set — lower util (≈0.35) |
|
|
165
|
+
|
|
166
|
+
## Flag cheat-sheet
|
|
167
|
+
|
|
168
|
+
- Allocator off: `--disable-hybrid-kv-cache-manager` (sliding-window/dense only).
|
|
169
|
+
- Prefix caching: `--no-enable-prefix-caching` / `--enable-prefix-caching`.
|
|
170
|
+
- Deterministic decode-bound: `--ignore-eos --ldqa-max-output-length <N>`.
|
|
171
|
+
- Pools: `--max-model-len auto`; `lmcache server --l1-size-gb <GB> --eviction-trigger-watermark 0.95` (start early to pre-pin).
|
|
172
|
+
- LMCache wiring: `--kv-transfer-config '{"kv_connector":"LMCacheMPConnector","kv_role":"kv_both","kv_connector_extra_config":{"lmcache.mp.port":5560,"lmcache.mp.mq_timeout":900}}'`.
|
|
173
|
+
- Mamba/GDN: `--mamba-cache-mode align --max-num-batched-tokens 2N-1`, server `--chunk-size N`.
|
|
174
|
+
- DeepSeek sparse-MLA: `CUDA_HOME` set; `--kv-cache-dtype fp8_ds_mla --tokenizer-mode deepseek_v4 --enable-expert-parallel`; util ≈0.35.
|
|
175
|
+
- Hit rate: vLLM `:8000/metrics` (`prefix_cache_*` GPU-local, `external_prefix_cache_*` LMCache).
|
|
176
|
+
- Teardown: by PID; verify GPUs ~0 MiB.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
#
|
|
4
|
+
# Download facebook/opt-125m from the LMCache/opt-125m GitHub release
|
|
5
|
+
# and place it into the HuggingFace hub cache structure so vLLM can
|
|
6
|
+
# find it via ``facebook/opt-125m`` without any network call to HF.
|
|
7
|
+
#
|
|
8
|
+
# Environment:
|
|
9
|
+
# OPT125M_GH_RELEASE release tag (default: v1.0)
|
|
10
|
+
# OPT125M_SNAPSHOT HF snapshot hash (default: 27dcfa...)
|
|
11
|
+
|
|
12
|
+
set -euo pipefail
|
|
13
|
+
|
|
14
|
+
GH_RELEASE="${OPT125M_GH_RELEASE:-v1.0}"
|
|
15
|
+
SNAPSHOT="${OPT125M_SNAPSHOT:-27dcfa74d334bc871f3234de431e71c6eeba5dd6}"
|
|
16
|
+
|
|
17
|
+
HF_CACHE="${HF_HOME:-$HOME/.cache/huggingface}/hub"
|
|
18
|
+
MODEL_DIR="${HF_CACHE}/models--facebook--opt-125m"
|
|
19
|
+
SNAPSHOT_DIR="${MODEL_DIR}/snapshots/${SNAPSHOT}"
|
|
20
|
+
|
|
21
|
+
if [ -f "${SNAPSHOT_DIR}/pytorch_model.bin" ]; then
|
|
22
|
+
echo "opt-125m already cached in ${SNAPSHOT_DIR}, skipping download"
|
|
23
|
+
exit 0
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "Downloading opt-125m from GitHub release ${GH_RELEASE}..."
|
|
27
|
+
mkdir -p "${SNAPSHOT_DIR}"
|
|
28
|
+
|
|
29
|
+
TMP_DIR="$(mktemp -d)"
|
|
30
|
+
trap 'rm -rf "${TMP_DIR}"' EXIT
|
|
31
|
+
|
|
32
|
+
TARBALL="${TMP_DIR}/opt-125m.tar.gz"
|
|
33
|
+
DOWNLOAD_URL="https://github.com/LMCache/opt-125m/releases/download/${GH_RELEASE}/opt-125m.tar.gz"
|
|
34
|
+
|
|
35
|
+
for i in $(seq 1 5); do
|
|
36
|
+
if curl -fsSL --retry 3 -o "${TARBALL}" "${DOWNLOAD_URL}"; then
|
|
37
|
+
break
|
|
38
|
+
fi
|
|
39
|
+
if [ "${i}" -eq 5 ]; then
|
|
40
|
+
echo "!! Failed to download after 5 attempts: ${DOWNLOAD_URL}"
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
sleep $((10 * i))
|
|
44
|
+
done
|
|
45
|
+
|
|
46
|
+
# Extract directly – the tarball contains opt-125m/ at top level.
|
|
47
|
+
EXTRACT_DIR="${TMP_DIR}/extract"
|
|
48
|
+
mkdir -p "${EXTRACT_DIR}"
|
|
49
|
+
tar -xzf "${TARBALL}" -C "${EXTRACT_DIR}"
|
|
50
|
+
mv "${EXTRACT_DIR}"/opt-125m/* "${SNAPSHOT_DIR}/"
|
|
51
|
+
|
|
52
|
+
# Create the refs/main pointer so snapshot_download(local_files_only=True)
|
|
53
|
+
# can resolve the snapshot hash.
|
|
54
|
+
mkdir -p "${MODEL_DIR}/refs"
|
|
55
|
+
echo "${SNAPSHOT}" > "${MODEL_DIR}/refs/main"
|
|
56
|
+
|
|
57
|
+
echo "opt-125m cached at ${SNAPSHOT_DIR}"
|
|
58
|
+
ls -lah "${SNAPSHOT_DIR}/"
|
|
@@ -345,9 +345,8 @@ else
|
|
|
345
345
|
echo "✅ numpy<2 installed"
|
|
346
346
|
fi
|
|
347
347
|
|
|
348
|
-
echo "[Phase 2 / Step 2] Downloading facebook/opt-125m model (
|
|
349
|
-
|
|
350
|
-
bash "${SHARED_SCRIPTS_DIR}/download_model.sh" facebook/opt-125m
|
|
348
|
+
echo "[Phase 2 / Step 2] Downloading facebook/opt-125m model (GitHub release)"
|
|
349
|
+
bash "${SHARED_SCRIPTS_DIR}/download_opt125m_github.sh"
|
|
351
350
|
echo "✅ Model download/check complete"
|
|
352
351
|
|
|
353
352
|
echo "[Phase 2 / Step 3] Starting LMCache server"
|
|
@@ -94,11 +94,11 @@ jobs:
|
|
|
94
94
|
pyproject.toml
|
|
95
95
|
requirements/*.txt
|
|
96
96
|
|
|
97
|
-
- name: Cache
|
|
97
|
+
- name: Cache opt-125m model (GitHub release)
|
|
98
98
|
uses: actions/cache@v4
|
|
99
99
|
with:
|
|
100
100
|
path: ~/.cache/huggingface
|
|
101
|
-
key:
|
|
101
|
+
key: opt-125m-gh-v2
|
|
102
102
|
|
|
103
103
|
- name: Install vLLM CPU (prebuilt nightly from PyPI)
|
|
104
104
|
run: bash .github/scripts/install_vllm_cpu.sh
|
|
@@ -106,11 +106,8 @@ jobs:
|
|
|
106
106
|
- name: Install lmcache (CPU-only, no vLLM)
|
|
107
107
|
run: bash .github/scripts/install_lmcache_cpu.sh
|
|
108
108
|
|
|
109
|
-
- name: Download facebook/opt-125m
|
|
110
|
-
|
|
111
|
-
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
|
112
|
-
run: |
|
|
113
|
-
bash .github/scripts/download_model.sh facebook/opt-125m
|
|
109
|
+
- name: Download facebook/opt-125m (GitHub release)
|
|
110
|
+
run: bash .github/scripts/download_opt125m_github.sh
|
|
114
111
|
|
|
115
112
|
- name: Server bench — LMCache-driven
|
|
116
113
|
run: |
|
|
@@ -305,13 +305,14 @@ jobs:
|
|
|
305
305
|
dist/*.whl
|
|
306
306
|
|
|
307
307
|
# Build container image and push to DockerHub when:
|
|
308
|
-
# - a new GitHub release is created
|
|
308
|
+
# - a new stable GitHub release is created (non-RC)
|
|
309
309
|
publish-image:
|
|
310
310
|
name: Publish image to DockerHub
|
|
311
311
|
if: |
|
|
312
312
|
needs.publish-pypi.result == 'success' &&
|
|
313
313
|
!cancelled() &&
|
|
314
|
-
github.repository_owner == 'LMCache' && github.event.action == 'published'
|
|
314
|
+
github.repository_owner == 'LMCache' && github.event.action == 'published' &&
|
|
315
|
+
!contains(github.ref_name, 'rc')
|
|
315
316
|
|
|
316
317
|
runs-on: ubuntu-latest
|
|
317
318
|
needs: [publish-pypi, publish-cu129-github-release]
|
|
@@ -465,3 +466,64 @@ jobs:
|
|
|
465
466
|
run: |
|
|
466
467
|
docker push lmcache/standalone:latest-cu129
|
|
467
468
|
docker push lmcache/standalone:${{ env.LATEST_TAG }}-cu129
|
|
469
|
+
|
|
470
|
+
# Build RC container image and push to DockerHub when:
|
|
471
|
+
# - a new RC GitHub release is created (e.g. v0.4.8rc1)
|
|
472
|
+
# Only pushes lmcache/vllm-openai:<tag> — does not touch latest or other image variants.
|
|
473
|
+
publish-image-rc:
|
|
474
|
+
name: Publish RC image to DockerHub
|
|
475
|
+
if: |
|
|
476
|
+
needs.publish-pypi.result == 'success' &&
|
|
477
|
+
!cancelled() &&
|
|
478
|
+
github.repository_owner == 'LMCache' && github.event.action == 'published' &&
|
|
479
|
+
contains(github.ref_name, 'rc')
|
|
480
|
+
|
|
481
|
+
runs-on: ubuntu-latest
|
|
482
|
+
needs: [publish-pypi]
|
|
483
|
+
|
|
484
|
+
steps:
|
|
485
|
+
- name: "Harden Runner"
|
|
486
|
+
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
|
|
487
|
+
with:
|
|
488
|
+
disable-sudo-and-containers: false
|
|
489
|
+
egress-policy: audit
|
|
490
|
+
|
|
491
|
+
- name: Login to DockerHub
|
|
492
|
+
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
|
493
|
+
with:
|
|
494
|
+
username: ${{ vars.DOCKERHUB_USERNAME }}
|
|
495
|
+
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
496
|
+
|
|
497
|
+
- name: Set up Docker Buildx
|
|
498
|
+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
|
499
|
+
|
|
500
|
+
- name: Checkout code
|
|
501
|
+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
502
|
+
with:
|
|
503
|
+
fetch-depth: 0
|
|
504
|
+
|
|
505
|
+
- name: Free disk space
|
|
506
|
+
uses: ./.github/actions/free-disk-space
|
|
507
|
+
|
|
508
|
+
- name: Get the release tag
|
|
509
|
+
run: |
|
|
510
|
+
REF="${{ github.ref_name }}"
|
|
511
|
+
[[ "$REF" =~ ^v[0-9]+\.[0-9]+\.[0-9]+rc[0-9]+$ ]] && echo "LATEST_RC_TAG=$REF" >> "$GITHUB_ENV"
|
|
512
|
+
|
|
513
|
+
- name: Build lmcache/vllm-openai container image (cu13)
|
|
514
|
+
run: |
|
|
515
|
+
docker build \
|
|
516
|
+
--build-arg BASE_IMAGE=nvcr.io/nvidia/cuda-dl-base:25.09-cuda13.0-devel-ubuntu24.04 \
|
|
517
|
+
--build-arg CUDA_VERSION=13.0 \
|
|
518
|
+
--build-arg torch_cuda_arch_list='7.5 8.0 8.6 8.9 9.0 10.0 12.0+PTX' \
|
|
519
|
+
--target image-release \
|
|
520
|
+
--tag lmcache/vllm-openai:${{ env.LATEST_RC_TAG }} \
|
|
521
|
+
--file docker/Dockerfile .
|
|
522
|
+
|
|
523
|
+
- name: Smoke test lmcache/vllm-openai (cu13)
|
|
524
|
+
run: |
|
|
525
|
+
docker run --rm --entrypoint lmcache lmcache/vllm-openai:${{ env.LATEST_RC_TAG }} --help
|
|
526
|
+
|
|
527
|
+
- name: Push lmcache/vllm-openai RC image to DockerHub
|
|
528
|
+
run: |
|
|
529
|
+
docker push lmcache/vllm-openai:${{ env.LATEST_RC_TAG }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lmcache
|
|
3
|
-
Version: 0.4.8.
|
|
3
|
+
Version: 0.4.8.dev31
|
|
4
4
|
Summary: A LLM serving engine extension to reduce TTFT and increase throughput, especially under long-context scenarios.
|
|
5
5
|
Author-email: LMCache Team <lmcacheteam@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Fault-Injecting L2 Adapter
|
|
2
|
+
|
|
3
|
+
`lmcache/v1/distributed/l2_adapters/fault_inject_l2_adapter.py`
|
|
4
|
+
|
|
5
|
+
A **test/diagnostic-only** L2 adapter that wraps a real inner adapter (e.g.
|
|
6
|
+
`fs_native`) and deterministically drops keys on the load read, simulating
|
|
7
|
+
partial L2 retrieve failures. Its purpose is to exercise the **segmented**
|
|
8
|
+
code paths — gapped found-set → segmented prefetch → segmented scatter /
|
|
9
|
+
attention — that a healthy cache never produces, so CacheBlend's
|
|
10
|
+
segmented-prefix handling can be tested without an actual faulty L2.
|
|
11
|
+
|
|
12
|
+
## Fault model
|
|
13
|
+
|
|
14
|
+
It faults the **load read primitive only**. A dropped key is reported
|
|
15
|
+
**present at lookup** but its **load fails** — the faithful "L2 retrieve
|
|
16
|
+
error". The lookup-miss case is *intentionally not modeled*: a key absent at
|
|
17
|
+
lookup merely shortens the found-set, which the `PREFIX` trim policy
|
|
18
|
+
(`count_leading_ones`) already covers. Modeling load-failure-after-lookup is
|
|
19
|
+
what produces a *gapped* found-set (hit … miss … hit), the input the
|
|
20
|
+
segmented path is built to handle.
|
|
21
|
+
|
|
22
|
+
When a load fails, **no unlock is issued here** — the prefetch controller
|
|
23
|
+
releases the load-failed read locks itself via the trim mask.
|
|
24
|
+
|
|
25
|
+
## Drop selection
|
|
26
|
+
|
|
27
|
+
A load position is dropped (`_drop_positions` / `_should_drop_key`) if **any**
|
|
28
|
+
of the following hold:
|
|
29
|
+
|
|
30
|
+
| knob | meaning | use |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `gap_tail_ratios: list[float]` | positions given as **distance-from-tail ÷ load-length** in `[0,1]` (`0.0`=last, `0.5`=middle, `1.0`=first); the dropped slot `round((1-ratio)·(n-1))` is computed from the `n`-key load batch the server actually receives. **Workload-agnostic and self-scaling** — the server needs no advance knowledge of the stored content, and the same fraction picks the right chunk at any context length. | primary lever for segmented repros (drop the mid chunk → a stable gap at any length) |
|
|
33
|
+
| `gap_indices: list[int]` | exact head-relative task-positions to always drop | precise single-gap unit tests |
|
|
34
|
+
| `rate: float` + `seed: int` | per-key drop probability in `[0,1]` via a stable seeded hash of the key, bucketed by `rate` | randomized resilience sweeps; deterministic given the seed |
|
|
35
|
+
|
|
36
|
+
Defaults are pass-through (`rate=0.0`, empty `gap_indices`/`gap_tail_ratios`).
|
|
37
|
+
|
|
38
|
+
> **Why a ratio and not a chunk hash?** An earlier `drop_chunk_hashes` knob keyed
|
|
39
|
+
> drops on `ObjectKey.chunk_hash` — content-addressed, so the *same* chunk failed
|
|
40
|
+
> on every leg. But it forced the test author (and thus the server config) to know
|
|
41
|
+
> a hash computed from a not-yet-stored workload, which inverted the dependency
|
|
42
|
+
> (the server "knowing" a future workload). `gap_tail_ratios` is a positional rule
|
|
43
|
+
> the server evaluates from the load batch alone, so no content needs to be known
|
|
44
|
+
> in advance. Trade-off: the drop is **per-load-batch**, not content-identical
|
|
45
|
+
> across legs — for the segmented-prefix repro the gap lives in the prefix leg's
|
|
46
|
+
> load, which is exactly what's exercised.
|
|
47
|
+
|
|
48
|
+
## Configuration
|
|
49
|
+
|
|
50
|
+
Activated through `--l2-adapter` (or the engine L2 spec). The required
|
|
51
|
+
`inner` sub-dict is a full adapter spec — dispatched through the L2 adapter
|
|
52
|
+
config registry — so any inner adapter type works and keeps its own
|
|
53
|
+
eviction/persist/serde config:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"type": "fault_inject",
|
|
58
|
+
"inner": { "type": "fs_native", "base_path": "/dev/shm/cb_l2" },
|
|
59
|
+
"gap_tail_ratios": [0.5],
|
|
60
|
+
"rate": 0.0,
|
|
61
|
+
"seed": 0,
|
|
62
|
+
"gap_indices": []
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`"gap_tail_ratios": [0.5]` drops the middle chunk of every load — the stable
|
|
67
|
+
mid-prefix gap the segmented repro needs, at any context length.
|
|
68
|
+
|
|
69
|
+
At startup it logs `FaultInjectL2Adapter ACTIVE (rate=… seed=… gap_indices=…
|
|
70
|
+
gap_tail_ratios=[…]) wrapping <inner> -- test/diagnostic use only.`
|
|
71
|
+
|
|
72
|
+
## Data flow
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
submit_load_task(keys) → delegate to inner; stash keys under task_id
|
|
76
|
+
query_load_result(task_id) → bitmap = inner.query_load_result(task_id)
|
|
77
|
+
for i in _drop_positions(keys): bitmap.clear(i)
|
|
78
|
+
return bitmap # dropped bits now read "miss"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`submit_load_task` records the per-task key list so `query_load_result` can map
|
|
82
|
+
the dropped bit positions back to keys; the result query is **non-idempotent**
|
|
83
|
+
(a non-`None` bitmap is returned once per task), matching the inner contract.
|
|
84
|
+
|
|
85
|
+
## Delegation
|
|
86
|
+
|
|
87
|
+
Everything other than the load-result query passes straight through to the
|
|
88
|
+
inner adapter: store, lookup-and-lock, unlock, delete, the event fds,
|
|
89
|
+
listener registration, usage, and global-eviction support. The fault layer
|
|
90
|
+
holds no data of its own. `report_status()` returns the inner status annotated
|
|
91
|
+
with a `fault_inject` sub-dict (`rate`, `seed`, `gap_indices`,
|
|
92
|
+
`gap_tail_ratios`) so the active fault config is visible in diagnostics.
|
|
93
|
+
|
|
94
|
+
## Scope and safety
|
|
95
|
+
|
|
96
|
+
Test/diagnostic only — never enable in production. It silently makes reads
|
|
97
|
+
fail, so any served KV is intentionally incomplete. The primary consumer is
|
|
98
|
+
the CacheBlend **segmented-prefix** validation (the `ci_v3_l2_hit`
|
|
99
|
+
`segmented_prefix` workload sets `gap_tail_ratios=[0.5]` to force a gapped
|
|
100
|
+
prefix, so V3 loads prefix+tail and recomputes only the gap).
|
|
@@ -5,12 +5,12 @@ the vLLM multiprocess adapter.
|
|
|
5
5
|
|
|
6
6
|
## 1. Problem
|
|
7
7
|
|
|
8
|
-
When
|
|
9
|
-
node loss), its per-instance state leaks on the MP server forever: the
|
|
10
|
-
`ContextEntry` (a `GPUCacheContext` holding CUDA IPC handles), the
|
|
11
|
-
`
|
|
12
|
-
state (e.g. CB rope caches). Nothing observes worker death; on a
|
|
13
|
-
leaked contexts accumulate until device memory is exhausted.
|
|
8
|
+
When an engine worker dies without sending `UNREGISTER_KV_CACHE` (SIGKILL,
|
|
9
|
+
OOM-kill, node loss), its per-instance state leaks on the MP server forever: the
|
|
10
|
+
LMCache-driven `ContextEntry` (a `GPUCacheContext` holding CUDA IPC handles), the
|
|
11
|
+
`EngineDrivenContextEntry` + `TransferStrategy` pair, and any blend-mode
|
|
12
|
+
per-instance state (e.g. CB rope caches). Nothing observes worker death; on a
|
|
13
|
+
shared server, leaked contexts accumulate until device memory is exhausted.
|
|
14
14
|
|
|
15
15
|
Worse, `instance_id` is `os.getpid()`: containerized pods reuse small PIDs, so a
|
|
16
16
|
new worker can register with a dead worker's id, and the idempotent register
|
|
@@ -31,7 +31,7 @@ when the server returns the unhealthy-to-healthy edge fires the recover callback
|
|
|
31
31
|
which re-registers — a noop when the entry survived.
|
|
32
32
|
|
|
33
33
|
```
|
|
34
|
-
|
|
34
|
+
engine worker adapter MP server
|
|
35
35
|
+---------------------------+ +--------------------------------------+
|
|
36
36
|
| HeartbeatThread | PING [id] | ManagementModule |
|
|
37
37
|
| (instance_id, 10s) -----+------------------>| ping(id) -> touch_instance(id) |
|
|
@@ -39,11 +39,12 @@ vLLM worker adapter MP server
|
|
|
39
39
|
| (starts healthy) | | -> reap_stale_instances( |
|
|
40
40
|
| unhealthy->healthy edge | | timeout, registration_grace) |
|
|
41
41
|
| -> re-register callback | REGISTER | -> drop_instance_state(id) fan-out |
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
42
|
+
| +------------------>| | | |
|
|
43
|
+
| register_kv_caches | STORE/RETRIEVE | v v |
|
|
44
|
+
| (no pings until traffic) | (refresh too) | LMCacheDriven/ BlendV3 |
|
|
45
|
+
| | | EngineDriven (CB rope |
|
|
46
|
+
| | | TransferModule dropped) |
|
|
47
|
+
| | | Entry{.., last_seen, |
|
|
47
48
|
| | | has_liveness_signal} |
|
|
48
49
|
+---------------------------+ | _lock (leaf); pop -> cleanup |
|
|
49
50
|
+--------------------------------------+
|
|
@@ -73,13 +74,13 @@ Every id-carrying request reads the same field, so no other payloads change.
|
|
|
73
74
|
|
|
74
75
|
### 5.1 Liveness state and two-tier windows
|
|
75
76
|
|
|
76
|
-
`ContextEntry` (
|
|
77
|
-
(`time.monotonic()`) and `has_liveness_signal: bool`, latched
|
|
78
|
-
flag selects the staleness window: an entry that has pinged
|
|
79
|
-
heartbeat protocol and is judged on the reap timeout; one that
|
|
80
|
-
still warming under lazy start) is judged on the generous
|
|
81
|
-
`last_seen` is refreshed by PING (`touch_instance`: refresh
|
|
82
|
-
insert), register (create and NOOP paths), and every
|
|
77
|
+
`ContextEntry` (LMCache-driven) and `EngineDrivenContextEntry` gain
|
|
78
|
+
`last_seen: float` (`time.monotonic()`) and `has_liveness_signal: bool`, latched
|
|
79
|
+
only by PING. The flag selects the staleness window: an entry that has pinged
|
|
80
|
+
provably runs the heartbeat protocol and is judged on the reap timeout; one that
|
|
81
|
+
never pinged (e.g. still warming under lazy start) is judged on the generous
|
|
82
|
+
registration grace. `last_seen` is refreshed by PING (`touch_instance`: refresh
|
|
83
|
+
if present, never insert), register (create and NOOP paths), and every transfer
|
|
83
84
|
path, so a worker mid-transfer is never reaped; traffic never latches the flag.
|
|
84
85
|
|
|
85
86
|
### 5.2 Locking
|
|
@@ -88,11 +89,11 @@ The reaper runs on its own thread, so the per-instance dicts are now mutated off
|
|
|
88
89
|
the MQ handler threads. Each transfer module gains one `threading.Lock` so the
|
|
89
90
|
reaper's scan-and-pop cannot race a concurrent register/unregister/transfer (which
|
|
90
91
|
would otherwise corrupt the dict or hand out a half-removed entry). In
|
|
91
|
-
`
|
|
92
|
-
lock, so a reap racing a re-register can never strand a fresh context without its
|
|
92
|
+
`EngineDrivenTransferModule` the context and strategy dicts mutate as a pair under
|
|
93
|
+
that lock, so a reap racing a re-register can never strand a fresh context without its
|
|
93
94
|
strategy. It is a leaf lock — never held across context construction, storage
|
|
94
95
|
calls, or any other component — so no thread ever holds two locks. External
|
|
95
|
-
readers use the locked accessors `
|
|
96
|
+
readers use the locked accessors `get_and_touch_context_entry` (get-and-refresh) and
|
|
96
97
|
`context_entries_snapshot` instead of touching the dict directly.
|
|
97
98
|
|
|
98
99
|
### 5.3 Reaper
|
|
@@ -101,37 +102,40 @@ readers use the locked accessors `get_context_entry` (get-and-refresh) and
|
|
|
101
102
|
`reap_timeout / 4`. Each scan calls `reap_stale_instances` on every target: under
|
|
102
103
|
the module lock, collect ids whose staleness exceeds their window and pop them;
|
|
103
104
|
outside the lock, run the same cleanup as a client unregister and log a WARNING
|
|
104
|
-
per instance (repeated reaps of one id signal a too-small timeout). Reaped ids
|
|
105
|
-
|
|
105
|
+
per instance (repeated reaps of one id signal a too-small timeout). Reaped ids are
|
|
106
|
+
then passed to `drop_instance_state(id)` on every target; `BlendV3Module` drops
|
|
106
107
|
the reaped instance's per-instance CB state (e.g. rope state) there. (It no longer
|
|
107
108
|
mirrors the GPU cache context — that mirror was removed upstream, so reaping the
|
|
108
109
|
GPU entry now frees the context directly.) Collect+pop shares the module lock with
|
|
109
110
|
register's refresh, serializing every register-vs-reap race; on close, the reaper
|
|
110
111
|
is stopped and joined before any module clears state.
|
|
111
112
|
|
|
112
|
-
### 5.4 Public
|
|
113
|
+
### 5.4 Public protocol and config
|
|
113
114
|
|
|
114
115
|
```python
|
|
115
116
|
class InstanceLivenessTarget(Protocol):
|
|
117
|
+
# All methods default to a no-op; an implementer overrides only its role.
|
|
116
118
|
def touch_instance(self, instance_id: int) -> None: ...
|
|
117
119
|
def reap_stale_instances(
|
|
118
120
|
self, reap_timeout_s: float, registration_grace_s: float
|
|
119
121
|
) -> list[int]: ...
|
|
120
122
|
def tracked_instance_count(self) -> int: ...
|
|
121
|
-
|
|
122
|
-
class InstanceReapListener(Protocol):
|
|
123
123
|
def drop_instance_state(self, instance_id: int) -> None: ...
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
`
|
|
126
|
+
One protocol covers both reaper-driven roles. The transfer modules override the
|
|
127
|
+
liveness methods (`touch`/`reap`/`count`); `BlendV3Module` overrides only
|
|
128
|
+
`drop_instance_state` to drop its mirrored CB state. `ManagementModule` receives
|
|
129
|
+
all targets in a single injected list. (Earlier a separate one-method
|
|
130
|
+
`InstanceReapListener` held `drop_instance_state`; it was folded in since only
|
|
131
|
+
`BlendV3Module` ever implemented it.)
|
|
128
132
|
|
|
129
133
|
Config: `worker_reap_timeout_seconds` (default `120.0`; `0` disables, otherwise
|
|
130
134
|
`>= 30.0`) and `worker_registration_grace_seconds` (default `3600.0`; `>=` the
|
|
131
135
|
reap timeout — a tighter grace would reap warming workers faster than crashed
|
|
132
|
-
ones), with matching CLI flags.
|
|
133
|
-
|
|
134
|
-
warns at startup when `3 x interval` exceeds the 30 s
|
|
136
|
+
ones), with matching CLI flags. Keep the timeout `>= 3 x` the client's
|
|
137
|
+
`lmcache.mp.heartbeat_interval` so a few missed pings never reap a live worker;
|
|
138
|
+
the worker adapter warns at startup when `3 x interval` exceeds the 30 s floor.
|
|
135
139
|
|
|
136
140
|
## 6. Adapter Side
|
|
137
141
|
|
|
@@ -142,23 +146,11 @@ warmup; the registration grace covers that window. It starts healthy (the event
|
|
|
142
146
|
is set at construction), so the first store/retrieve is not gated. A live worker
|
|
143
147
|
then pings every interval, refreshing its server-side `last_seen`, so it is never
|
|
144
148
|
reaped while alive — no re-registration is needed at start. The recover callback
|
|
145
|
-
re-registers only on a genuine recovery edge (Section 6.2
|
|
149
|
+
re-registers only on a genuine recovery edge (Section 6.2). A retrieve dropped
|
|
146
150
|
while the server is unhealthy is still reported via `get_finished` so async loads
|
|
147
151
|
cannot hang.
|
|
148
152
|
|
|
149
|
-
### 6.2
|
|
150
|
-
|
|
151
|
-
A whole-process freeze longer than the reap window (SIGSTOP, cgroup freezer, VM
|
|
152
|
-
migration) produces no ping failures and no traffic: the server reaps while the
|
|
153
|
-
client's `health_event` stays set, so on thaw no edge would fire and every store
|
|
154
|
-
would hit a missing context. `HeartbeatThread` therefore tracks the time of its
|
|
155
|
-
last successful cycle; when a ping succeeds while considered healthy and the gap
|
|
156
|
-
exceeds `3 x interval`, it clears `health_event` and returns, forcing one
|
|
157
|
-
unhealthy cycle — the next ping takes the normal edge and re-registers. Forcing a
|
|
158
|
-
cycle keeps the recover callback from racing live submissions on `transfer_ctx`
|
|
159
|
-
and drains futures parked between thaw and detection.
|
|
160
|
-
|
|
161
|
-
### 6.3 Recovery after a reap
|
|
153
|
+
### 6.2 Recovery after a reap
|
|
162
154
|
|
|
163
155
|
```
|
|
164
156
|
T0 outage begins; pings time out -> health_event cleared, traffic stops
|
|
@@ -172,7 +164,7 @@ T1 recover callback re-registers (id absent -> fresh context) before
|
|
|
172
164
|
A shorter outage hits the NOOP register path, which refreshes `last_seen` and
|
|
173
165
|
builds nothing — the server never asks a worker to re-register.
|
|
174
166
|
|
|
175
|
-
### 6.
|
|
167
|
+
### 6.3 Shutdown
|
|
176
168
|
|
|
177
169
|
`shutdown()` stops the heartbeat before sending UNREGISTER, so no stray ping
|
|
178
170
|
lands on a closing client. The heartbeat cycle skips the recover callback and
|
|
@@ -188,6 +180,5 @@ stop is already requested — a straggling cycle cannot re-create a ghost contex
|
|
|
188
180
|
| Worker alive but never pinged, idle past the grace | Reaped while alive only if it never pinged (heartbeat never started). Once the heartbeat is running, pings refresh `last_seen` every interval, so a live worker is never reaped regardless of traffic. |
|
|
189
181
|
| Heartbeat thread starved, worker transferring | Store/retrieve/prepare/commit refresh `last_seen`; never reaped. |
|
|
190
182
|
| Partition shorter than the reap window | No reap. On heal, the recover callback re-registers; the NOOP path refreshes `last_seen`; zero context churn. |
|
|
191
|
-
| Whole-process freeze past the reap window | Reaped during the freeze. On thaw, freeze-gap detection forces one unhealthy cycle (parked futures drained), then edge → re-register. Worst case ~2 heartbeat intervals of degraded traffic. |
|
|
192
183
|
| Worker crash + restart | The new process gets a fresh uuid-derived id and a fresh entry; the dead id is reaped independently. No PID-reuse aliasing. |
|
|
193
184
|
| Mixed client/server versions | Every PING fails the payload-count check; the client sits permanently unhealthy. Loud, never silent corruption; upgrade both sides together. |
|