Format: application/x-python-code
⬇ Download File (1.9 KB)
   1  o
   2  
   3  ;'h�@slddlmZddlZddlmZddlmZddlmZm	Z	m
   4  Z
   5  ed�ZGdd	�d	ee	eeef�Z
   6  dS)
   7  �)�annotationsN)�TypeVar)�warn�)�MemoryObjectReceiveStream�MemoryObjectSendStream�MemoryObjectStreamState�T_Itemc@seZdZdZ	dd
   8  d
   9  d�ZdS)�create_memory_object_streama
  10      Create a memory object stream.
  11  
  12      The stream's item type can be annotated like
  13      :func:`create_memory_object_stream[T_Item]`.
  14  
  15      :param max_buffer_size: number of items held in the buffer until ``send()`` starts
  16          blocking
  17      :param item_type: old way of marking the streams with the right generic type for
  18          static typing (does nothing on AnyIO 4)
  19  
  20          .. deprecated:: 4.0
  21            Use ``create_memory_object_stream[YourItemType](...)`` instead.
  22      :return: a tuple of (send stream, receive stream)
  23  
  24      rN�max_buffer_size�float�	item_type�object�return�Htuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]]cCs^|tjkrt|t�std��|dkrtd��|dur!tdtdd�tt|�}t	|�t
  25  |�fS)Nz5max_buffer_size must be either an integer or math.infrz"max_buffer_size cannot be negativeztThe item_type argument has been deprecated in AnyIO 4.0. Use create_memory_object_stream[YourItemType](...) instead.r)�
  26  stacklevel)�math�inf�
  27  isinstance�int�
  28  ValueErrorr�DeprecationWarningrr	rr)�clsrr
  29  �state�r�JC:\Users\shubh\Videos\agent\nova\Lib\site-packages\anyio/_core/_streams.py�__new__$s�z#create_memory_object_stream.__new__)rN)rrr
  30  rrr)�__name__�
  31  __module__�__qualname__�__doc__rrrrrr
  32  s�r
  33  )�
  34  __future__rr�typingr�warningsrZstreams.memoryrrrr	�tupler
  35  rrrr�<module>s
  36  �