
    &`i'                         d dl Z d dlmZ d dlmZmZ d dlmZmZ d dl	m
Z
 e G d d                      Ze G d d	                      Z G d
 de          Z G d de j                  ZdS )    N)	dataclass)AnyList)Block	DataBatch)	ObjectRefc                       e Zd ZU dZeed<   dS )BatchMetadatazMetadata associated with a batch.

    Attributes:
        batch_idx: The global index of this batch so that downstream operations can
            maintain ordering.
    	batch_idxN)__name__
__module____qualname____doc__int__annotations__     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/data/_internal/block_batching/interfaces.pyr
   r
   	   s%           NNNNNr   r
   c                   (    e Zd ZU dZeed<   eed<   dS )Batchz~A batch of data.

    Attributes:
        metadata: Metadata associated with this batch.
        data: The batch of data.
    metadatadataN)r   r   r   r   r
   r   r   r   r   r   r   r      s1           
OOOOOr   r   c                       e Zd ZU dZeed<   dS )CollatedBatchzA batch of collated data.

    Attributes:
        data: The batch of data which is the output of a user provided collate_fn
            Therefore, the type of this data can be Any.
    r   N)r   r   r   r   r   r   r   r   r   r   r   "   s%           IIIIIr   r   c                   b    e Zd ZdZej        deee                  fd            Z	de
fdZd ZdS )BlockPrefetcherz!Interface for prefetching blocks.blocksc                     dS )z*Prefetch the provided blocks to this node.Nr   )selfr   s     r   prefetch_blockszBlockPrefetcher.prefetch_blocks0   s	     	r   returnc                     dS )z@Return the number of blocks currently scheduled for prefetching.r   r   r   s    r   num_prefetched_blocksz%BlockPrefetcher.num_prefetched_blocks5   s    qr   c                     dS )z'Stop prefetching and release resources.Nr   r#   s    r   stopzBlockPrefetcher.stop9   s    r   N)r   r   r   r   abcabstractmethodr   r   r   r    r   r$   r&   r   r   r   r   r   -   sw        ++d9U+;&<    s        r   r   )	metaclass)r'   dataclassesr   typingr   r   ray.data.blockr   r   	ray.typesr   r
   r   r   ABCMetar   r   r   r   <module>r/      s/   



 ! ! ! ! ! !         + + + + + + + +               	 	 	 	 	 	 	 	    E             r   