22# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
33
44import asyncio
5- from typing import Any , Optional
5+ from typing import Optional
66
77import uvicorn
88from fastapi import FastAPI
99
1010from vllm import envs
1111from vllm .config import VllmConfig
12+ from vllm .distributed .kv_transfer .kv_connector .v1 .base import (
13+ KVConnectorHandshakeMetadata )
1214from vllm .logger import init_logger
1315
1416logger = init_logger (__name__ )
@@ -32,8 +34,9 @@ def _setup_routes(self):
3234 @self .app .get ("/get_kv_connector_metadata/{dp_rank}/{tp_rank}" )
3335 async def get_kv_connector_metadata (dp_rank : Optional [int ] = None ,
3436 tp_rank : Optional [int ] = None ):
35- kv_meta : Optional [dict [str , dict [str , dict [str , Any ]]]] = (
36- self .vllm_config .cache_config .transfer_handshake_metadata )
37+ kv_meta : Optional [dict [int , dict [
38+ int , KVConnectorHandshakeMetadata ]]] = (
39+ self .vllm_config .cache_config .transfer_handshake_metadata )
3740
3841 if kv_meta is None :
3942 return None
@@ -71,7 +74,8 @@ async def start_async(self):
7174 self .server = uvicorn .Server (config )
7275
7376 # start the server in a background task
74- asyncio .create_task (self .server .serve ())
77+ if self .server is not None :
78+ asyncio .create_task (self .server .serve ())
7579 logger .info ("NIXL side channel server started successfully" )
7680
7781 async def stop_async (self ):
0 commit comments