
    -`i                         U d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 erd dl
mZ d dlmZ daedz  ed<   d	efd
Zd	efdZddedz  d	efdZ	 dddded         d	dfdZddZdS )    )TYPE_CHECKINGOptional)KVConnectorBaseType)KVConnectorFactory)KVConnectorBase_V1KVConnectorRole)
VllmConfig)KVCacheConfigN_KV_CONNECTOR_AGENTreturnc                  2    t           
J d            t           S )NzAdisaggregated KV cache transfer parallel group is not initializedr        /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/distributed/kv_transfer/kv_transfer_state.pyget_kv_transfer_groupr      s!    **K +** r   c                      t           d uS Nr   r   r   r   has_kv_transfer_groupr      s    d**r   	connectorc                 F    | t           } | dS t          | t                    S )a\  Check if the KV connector is the v1 connector.
    If the argument is None, it will check the global KV connector

    Args:
        connector: The KV connector to check. If None, it will check the
            global KV connector.

    Note:
        This function will no-longer be needed after the v1 KV connector
        becomes the default.
    NF)r   
isinstancer   )r   s    r   is_v1_kv_transfer_groupr      s+     '	ui!3444r   vllm_configr	   kv_cache_configr
   c                     | j         dS | j         j        r*t          %t          j        | t
          j        |          adS dS dS )z6
    Initialize KV cache transfer parallel group.
    N)configroler   )kv_transfer_configis_kv_transfer_instancer   r   create_connectorr   WORKER)r   r   s     r   ensure_kv_transfer_initializedr#   3   sb     %- 	&>
'0A '+
 
 
	
 
''r   c                  N    t           t                                            d a d S d S r   )r   shutdownr   r   r   ensure_kv_transfer_shutdownr&   J   s.    &$$&&&" '&r   r   )r   N)typingr   r   .vllm.distributed.kv_transfer.kv_connector.baser   1vllm.distributed.kv_transfer.kv_connector.factoryr   ,vllm.distributed.kv_transfer.kv_connector.v1r   r   vllm.configr	   vllm.v1.kv_cache_interfacer
   r   __annotations__r   boolr   r   r#   r&   r   r   r   <module>r/      sr   + * * * * * * * * N N N N N N P P P P P P       
  9&&&&&&88888826 (4/ 6 6 62    +t + + + +5 5':T'A 5T 5 5 5 5, MQ
 

080I
	
 
 
 
.# # # # # #r   