o
    پi~                     @   s   d dl Z d dlmZmZ d dlZd dlmZ d dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ e eZG dd de	ZG dd	 d	eZG d
d de
ZdS )    N)ListOptional)BaseKVManagerBaseKVReceiverBaseKVSenderKVArgsKVPoll)DisaggregationMode)
ServerArgsc                
       s6   e Zd Z	ddedededee f fddZ  Z	S )	FakeKVManagerFargsdisaggregation_modeserver_argsis_mla_backendc                    s   t  |||| d S N)super__init__)selfr   r   r   r   	__class__ W/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/disaggregation/fake/conn.pyr      s   zFakeKVManager.__init__)F)
__name__
__module____qualname__r   r	   r
   r   boolr   __classcell__r   r   r   r   r      s    r   c                
   @   s   e Zd Zdedededee def
ddZdefd	d
Z		dde
e dee fddZ	ddejej deee  fddZdd ZdS )FakeKVSendermgrbootstrap_addrbootstrap_roomdest_tp_rankspp_rankc                 C   
   d| _ d S NF)has_sent)r   r   r   r    r!   r"   r   r   r   r   !   s   
zFakeKVSender.__init__returnc                 C       | j du rtjS td tjS )NFzFakeKVSender poll success)r%   r   WaitingForInputloggerdebugSuccessr   r   r   r   poll+      

zFakeKVSender.pollN
kv_indices	aux_indexc                 C   s   t d| d|  d S )Nz#FakeKVSender init with kv_indices: , aux_index: )r)   r*   )r   r/   r0   r   r   r   init4   s   zFakeKVSender.initstate_indicesc                 C   s    d| _ td| d|  d S )NTz#FakeKVSender send with kv_indices: , state_indices: )r%   r)   r*   )r   r/   r3   r   r   r   send>   s   zFakeKVSender.sendc                 C      t d)NzFake KVSender Exception	Exceptionr,   r   r   r   failure_exceptionH      zFakeKVSender.failure_exceptionr   )r   r   r   r   strintr   r   r   r-   listr   r2   nptNDArraynpint32r5   r9   r   r   r   r   r       s4    






r   c                
   @   sv   e Zd Z		ddededee dee fddZdefd	d
Z			dde
e dee deee  fddZdd ZdS )FakeKVReceiverNr   r   r    prefill_dp_rankc                 C   r#   r$   )has_init)r   r   r   r    rC   r   r   r   r   M   s   
zFakeKVReceiver.__init__r&   c                 C   r'   )NFzFakeKVReceiver poll success)rD   r   r(   r)   r*   r+   r,   r   r   r   r-   V   r.   zFakeKVReceiver.pollr/   r0   r3   c                 C   s&   d| _ td| d| d|  d S )NTz%FakeKVReceiver init with kv_indices: r1   r4   )rD   r)   r*   )r   r/   r0   r3   r   r   r   r2   _   s   zFakeKVReceiver.initc                 C   r6   )NzFake KVReceiver Exceptionr7   r,   r   r   r   r9   j   r:   z FakeKVReceiver.failure_exception)NN)r   r   r   r   r;   r   r<   r   r   r-   r=   r   r2   r9   r   r   r   r   rB   L   s.    
	

rB   )loggingtypingr   r   numpyr@   numpy.typingr>   #sglang.srt.disaggregation.base.connr   r   r   r   r   sglang.srt.disaggregation.utilsr	   sglang.srt.server_argsr
   	getLoggerr   r)   r   r   rB   r   r   r   r   <module>   s    
,