o
    :Î®cÖ  ã                
   @   sÒ   d dl Z d dlmZmZmZmZmZmZ ddlm	Z	m
Z
mZ edƒZededee dee
e e	e f fd	d
„ƒZe	 ddedee
e e	e f fdd
„ƒZ	ddedeee  dee
e e	e f fdd
„ZdS )é    N)ÚAnyÚOptionalÚTupleÚTypeÚTypeVarÚoverloadé   )ÚMemoryObjectReceiveStreamÚMemoryObjectSendStreamÚMemoryObjectStreamStateÚT_ItemÚmax_buffer_sizeÚ	item_typeÚreturnc                 C   ó   d S ©N© )r   r   r   r   ú;/tmp/pip-target-vg8gfxp4/lib/python/anyio/_core/_streams.pyÚcreate_memory_object_stream   ó   r   c                 C   r   r   r   )r   r   r   r   r      r   c                 C   sD   | t jkrt| tƒstdƒ‚| dk rtdƒ‚t| ƒ}t|ƒt|ƒfS )aI  
    Create a memory object stream.

    :param max_buffer_size: number of items held in the buffer until ``send()`` starts blocking
    :param item_type: type of item, for marking the streams with the right generic type for
        static typing (not used at run time)
    :return: a tuple of (send stream, receive stream)

    z5max_buffer_size must be either an integer or math.infr   z"max_buffer_size cannot be negative)ÚmathÚinfÚ
isinstanceÚintÚ
ValueErrorr   r
   r	   )r   r   Ústater   r   r   r      s   )r   )r   N)r   Útypingr   r   r   r   r   r   Ústreams.memoryr	   r
   r   r   Úfloatr   r   r   r   r   Ú<module>   s6     ÿÿþÿÿþÿÿ
ÿþ