%PDF- %PDF-
Direktori : /usr/lib/python3/dist-packages/jeepney/io/__pycache__/ |
Current File : //usr/lib/python3/dist-packages/jeepney/io/__pycache__/trio.cpython-312.pyc |
� +�c : � �� � d dl Z d dlmZ d dlZd dlmZ d dlZd dlmZ d dlm Z d dlm Z mZ d dlZd dlmZ d dlmZmZ d d lmZ d d lmZmZ d dlmZmZmZ d dlmZm Z d d l!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z( ejR e*� Z+g d�Z,ed� � Z- G d� de� Z.d!dd�de.fd�Z/ G d� de%� Z0 G d� d� Z1 G d� d� Z2 G d� de� Z3e d!dd�d �� Z4y# e $ r d dlm Z Y ��w xY w)"� N)�contextmanager)�count)�Optional)�asynccontextmanager)�Value�Error)�Channel)� Authenticator�BEGIN)�get_bus)�FileDescriptor�fds_buf_size)�Parser�MessageType�Message)� ProxyBase� unwrap_msg)�message_bus� )�MessageFilters�FilterHandle�ReplyMatcher�RouterClosed�check_replyable)�open_dbus_connection�open_dbus_router�Proxyc # � K � d �� y # t $ rl} | j t j t j hv rt j d� d �t j dj | � � | �d } ~ ww xY w�w)Nzthis socket was already closedzsocket connection broken: {})�OSError�errno�EBADF�ENOTSOCK�trio�ClosedResourceError�BrokenResourceError�format)�excs �1/usr/lib/python3/dist-packages/jeepney/io/trio.py�)_translate_socket_errors_to_stream_errorsr) 0 so � �� � � ��� ��9�9����e�n�n�5�5��*�*�+K�L�RV�V��*�*�.�5�5�c�:��� ���s% �B� �B� A>�A'A9�9A>�>Bc �r � e Zd ZdZdd�Zdd�defd�Zdefd�Zdde fd �Z d efd�Zd� Zd � Z d� Zed� � Zy)�DBusConnectiona� A plain D-Bus connection with no matching of replies. This doesn't run any separate tasks: sending and receiving are done in the task that calls those methods. It's suitable for implementing servers: several worker tasks can receive requests and send replies. For a typical client pattern, see :class:`DBusRouter`. Implements trio's channel interface for Message objects. c �� � || _ || _ t � | _ t d�� | _ d | _ t j � | _ t j � | _ d | _ y )Nr )�start)�socket� enable_fdsr �parserr �outgoing_serial�unique_namer# �Lock� send_lock� recv_lock�_leftover_to_send)�selfr. r/ s r( �__init__zDBusConnection.__init__I sO � ����$����h���$�1�~������������������!%��� N��serial�messagec � �Z K � | j 4 �d{ ��� |�t | j � }| j rt j d� nd}|j ||�� }| j ||� � d{ ��� ddd� �d{ ��� y7 �|7 �7 � # 1 �d{ ���7 sw Y yxY w�w)z.Serialise and send a :class:`~.Message` objectN�i)�fds)r4 �nextr1 r/ �array� serialise� _send_data)r7 r<