
    ܈h                        S SK Jr  S SKrS SKJr  S SKJr  SSKJrJ	r	J
r
  \" S5      r " S S	\\	\   \\   4   5      rg)
    )annotationsN)TypeVar)warn   )MemoryObjectReceiveStreamMemoryObjectSendStreamMemoryObjectStreamStateT_Itemc                  2    \ rS rSrSr S     SS jjrSrg)create_memory_object_stream   a  
Create a memory object stream.

The stream's item type can be annotated like
:func:`create_memory_object_stream[T_Item]`.

:param max_buffer_size: number of items held in the buffer until ``send()`` starts
    blocking
:param item_type: old way of marking the streams with the right generic type for
    static typing (does nothing on AnyIO 4)

    .. deprecated:: 4.0
      Use ``create_memory_object_stream[YourItemType](...)`` instead.
:return: a tuple of (send stream, receive stream)

Nc                   U[         R                  :w  a   [        U[        5      (       d  [	        S5      eUS:  a  [	        S5      eUb  [        S[        SS9  [        [           " U5      n[        U5      [        U5      4$ )Nz5max_buffer_size must be either an integer or math.infr   z"max_buffer_size cannot be negativeztThe item_type argument has been deprecated in AnyIO 4.0. Use create_memory_object_stream[YourItemType](...) instead.r   )
stacklevel)mathinf
isinstanceint
ValueErrorr   DeprecationWarningr	   r
   r   r   )clsmax_buffer_size	item_typestates       <D:\TimeStamps\venv\Lib\site-packages\anyio/_core/_streams.py__new__#create_memory_object_stream.__new__$   s}     dhh&z/3/O/OTUUQABB N"	 (/@&u-/H/OPP     )r   N)r   floatr   objectreturnzHtuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]])__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s4    $ >BQ#Q4:Q	QQ Qr   r   )
__future__r   r   typingr   warningsr   streams.memoryr   r   r	   r
   tupler   r   r   r   <module>r-      sL    "     
	$Q	
 
(*CF*K
KL$Qr   