OwlCyberSecurity - MANAGER
Edit File: mmap_dict.cpython-312.pyc
� ����Y��g�����������������������h����d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�dZ�ej������������������d�������j������������������Z �ej������������������d�������j������������������Z �ej������������������d�������j������������������Z�ej������������������d�������j������������������Z d��Zd��Zdd�Z�G�d ��d �������Zdeded ee���dee���dedefd�Zy)�����N)�Listi�������is���ddc������������������(�����t��������||�������|�||dz����y�)N����)�_pack_two_doubles_func)�data�pos�value� timestamps��� �J/opt/hc_python/lib/python3.12/site-packages/prometheus_client/mmap_dict.py�_pack_two_doublesr ������s������/��y�A�D��S�2�X������c������������������&�����t��������|�������|�||dz����y�)N����)�_pack_integer_func)r���r ���r ���s��� r���� _pack_integerr������s������*�5�1�D��S�1�W�r���c��������������#����*��K����|dk��rt��������|�d�������d���}d}||k��rtt��������|�|�������d���}||z���|kD��rt��������d��������|dz ��}|�|||z����}|d|dz���dz��z ��z���}||z ��}t��������|�|�������\��}}|j������������������d�������|||f���|dz ��}||k��r�syy�w)z<Yield (key, value, timestamp, pos). No locking is performed.r�������z2Read beyond file size detected, file is corrupted.r����utf-8r���N)�_unpack_integer�RuntimeError�_unpack_two_doubles�decode)r����usedr ����encoded_len�encoded_key� padded_lenr ���r���s��� r����_read_all_valuesr������s������������q�y��t�Q�'��*�� �C� ��*�%�d�C�0��3�����t�#��S�T�T��q����3�s�[�0�1�� �A��q��A�(=�$=�>� ��z���.�t�S�9���y�� � ��)�5�)�S�@�@��r� �����*�s����BB�Bc��������������������L�����e�Zd�ZdZdd�Zed����������Zd��Zd��Zd��Z d��Z d��Zd ��Zy )� MmapedDicta���A dict of doubles, backed by an mmapped file. The file starts with a 4 byte int, indicating how much of it is used. Then 4 bytes of padding. There's then a number of entries, consisting of a 4 byte int which is the size of the next field, a utf-8 encoded string key, padding to a 8 byte alignment, and then a 8 byte float which is the value and a 8 byte float which is a UNIX timestamp in seconds. Not thread safe. c�����������������������t��������||rdnd�������|�_��������||�_��������t��������j������������������|�j������������������j���������������������������������j������������������}|dk(��r%|�j������������������j������������������t����������������t��������}||�_ ��������t��������j������������������|�j������������������j��������������������������|�j������������������|rt��������j������������������nt��������j��������������������������|�_ ��������i�|�_��������t��������|�j������������������d�������d���|�_��������|�j ������������������dk(��r)d|�_��������t#��������|�j������������������d|�j ��������������������������y�|s*|�j%��������������������������D�]��\��}}}}||�j������������������|<�����y�y�)N�rbza+br���)�accessr���)�open�_f�_fname�os�fstat�fileno�st_size�truncate�_INITIAL_MMAP_SIZE� _capacity�mmap�ACCESS_READ�ACCESS_WRITE�_m� _positionsr����_usedr���r���)�self�filename� read_mode�capacity�key�_r ���s��� r����__init__zMmapedDict.__init__?���s������x����>�������8�8�D�G�G�N�N�,�-�5�5���q�=��G�G���/�0�)�H�!����)�)�D�G�G�N�N�,�d�n�n�7@�4�#3�#3�d�FW�FW�Y�������$�T�W�W�a�0��3�� ��:�:��?��D�J��$�'�'�1�d�j�j�1��&*�&;�&;�&=�N�C��A�s�+.�D�O�O�C�(��'>��r���c����������������������t��������|�d�������5�}|j������������������t��������j�������������������������}t ��������|d�������d���}|t��������|�������kD��r ||j������������������|t��������|�������z ���������z ��}d�d�d���������t ���������������S�#�1�sw�Y����xY�w)Nr"���r���)r$����readr.����PAGESIZEr����lenr���)r5����infpr���r���s��� r����read_all_values_from_filez$MmapedDict.read_all_values_from_fileT���sx������ �(�D� !�T���9�9�T�]�]�+�D�"�4��+�A�.�D��c�$�i���� � �$��T��"2�3�3�� �"�� ��d�+�+��"� !�s����AA>�>Bc������������������l����|j������������������d�������}|ddt��������|�������dz���dz��z ��z��z���}t��������j������������������dt��������|���������d�j��������������������������t��������|�������|dd�������}|�j������������������t��������|�������z���|�j ������������������kD��r�|�xj ������������������dz��c_��������|�j������������������j������������������|�j ��������������������������t��������j������������������|�j������������������j��������������������������|�j �������������������������|�_ ��������|�j������������������t��������|�������z���|�j ������������������kD��r��||�j������������������|�j������������������|�j������������������t��������|�������z����|�xj������������������t��������|�������z ��c_��������t��������|�j������������������d |�j��������������������������|�j������������������d z ��|�j������������������|<���y)z0Initialize a value. Lock must be held by caller.r������� r���r����i�sddg������������r���r���N) �encoder>����struct�packr3���r-���r%���r+���r.���r)���r1���r���r2���)r4���r8����encoded�paddedr ���s��� r����_init_valuezMmapedDict._init_value_���s>������*�*�W�%���D�A��W���)9�Q�(>�$>�?�@�����a��F��}�C�0�7�7�9�3�w�<��QT�VY�Z���j�j�3�u�:�%����6��N�N�a��N��G�G���T�^�^�,��i�i������ 0�$�.�.�A�D�G���j�j�3�u�:�%����6��7<����� � �4�:�:��E� �2�3�� � � �c�%�j� � ��d�g�g�q�$�*�*�-�#�z�z�B������r���c������������������D�����t��������|�j������������������|�j��������������������������S�)z1Yield (key, value, pos). No locking is performed.)r���r���)r���r1���r3����r4���s��� r���r���zMmapedDict._read_all_valuesp���s�������T�W�W�4�:�:�>�>r���c��������������#����N���K����|�j��������������������������D�]��\��}}}}|||f�����y�w)z7Yield (key, value, timestamp). No locking is performed.N)r���)r4����k�v�tsr9���s��� r����read_all_valueszMmapedDict.read_all_valuest���s,����������0�0�2�K�A�q�"�a��Q��(�N��3�s����#%c�����������������������||�j�������������������vr|�j������������������|��������|�j�������������������|���}t��������|�j������������������|�������S��N)r2���rK���r���r1���)r4���r8���r ���s��� r���� read_valuezMmapedDict.read_valuey���s;�������d�o�o�%����S�!��o�o�c�"��"�4�7�7�C�0�0r���c�����������������������||�j�������������������vr|�j������������������|��������|�j�������������������|���}t��������|�j������������������|||��������y�rT���)r2���rK���r ���r1���)r4���r8���r ���r���r ���s��� r����write_valuezMmapedDict.write_value���s<�������d�o�o�%����S�!��o�o�c�"���$�'�'�3��y�9r���c�����������������������|�j�������������������rC|�j������������������j���������������������������d�|�_��������|�j�������������������j���������������������������d�|�_���������y�y�rT���)r%���r1����closerM���s��� r���rY���zMmapedDict.close����s6�������7�7��G�G�M�M�O��D�G��G�G�M�M�O��D�G� �r���N)F) �__name__� __module__�__qualname__�__doc__r:����staticmethodr@���rK���r���rR���rU���rW���rY�����r���r���r ���r ���2���s>������ �/�*��,���,�/�"?�� 1�:�r���r ����metric_name�name� labelnames�labelvalues� help_text�returnc������������������b�����t��������t��������||��������������}t��������j������������������|�|||gd��������S�)z&Format a key for use in the mmap file.T)� sort_keys)�dict�zip�json�dumps)r`���ra���rb���rc���rd����labelss��� r����mmap_keyrm�������s/��������#�j�+�.� /�F��:�:�{�D�&�)�<��M�Mr���)r���)rj���r.���r'���rG����typingr���r,����StructrH���r���r����unpack_fromr���r���r ���r���r���r ����strrm���r_���r���r����<module>rr������s����������� �� ������"�V�]�]�4�(�-�-���&����u�-�2�2����&�-�-��%�1�1��#�f�m�m�E�*�6�6���B�2��.X��X�vN�#��N�S��N�d�3�i��N�d�SV�i��N�dg��N�lo��Nr���