Viewing File: /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/__pycache__/feature_flags.cpython-312.pyc
�
_�*j
� � � d dl Z d dlmZ d dlmZmZ d dlZd dlmZ d dl m
Z
d dlmZ erd dlm
Z
e
deed �� Zd
Z G d� d� Zd
ededdfd�Zy)� N)�Lock)�
TYPE_CHECKING�Any)�LRUCache)�Span)�has_span_streaming_enabled)� TypedDict�FlagData��flag�result�d c �H � e Zd Zdeddfd�Zdd�Zdd�Zd
d�Zded e ddfd
�Z
y)�
FlagBuffer�capacity�returnNc �P � || _ t � | _ t |� | _ y �N)r r �lockr �_FlagBuffer__buffer)�selfr s �G/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/feature_flags.py�__init__zFlagBuffer.__init__ s � � ��
��F�� � !��*��
� c �8 � t | j � | _ y r )r r r )r s r �clearzFlagBuffer.clear s � � ����/��
r c � � | j 5 t | j � }t j | j
|� |_ |cd d d � S # 1 sw Y y xY wr )r r r �copy�deepcopyr )r �memo�buffers r �__deepcopy__zFlagBuffer.__deepcopy__ s: � �
�Y�Y���
�
�.�F�"�m�m�D�M�M�4�@�F�O�� �Y�Y�s �<A�Ac � � | j 5 | j j � D ��cg c]
\ }}||d��� c}}cd d d � S c c}}w # 1 sw Y y xY w)Nr )r r �get_all)r �key�values r �getzFlagBuffer.get% sK � �
�Y�Y�AE���AV�AV�AX��AX�:�3����.�AX�� �Y��� �Y�s �A
�A�A
�A
�
Ar r
c � � t |t � rt d� �| j 5 | j j ||� d d d � y # 1 sw Y y xY w)Nz=FlagBuffer instances can not be inserted into the dictionary.)�
isinstancer �
ValueErrorr r �set)r r r
s r r+ zFlagBuffer.set+ sE � ��f�j�)�
�O��
� �Y�Y��M�M���d�F�+� �Y�Y�s �A�A)r N)r zdict[int, Any]r r )r zlist[FlagData])�__name__�
__module__�__qualname__�intr r r"