Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/pyroute2/remote/__pycache__/transport.cpython-39.pyc
Ðазад
a ]�h}. � @ s0 d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl mZ d dlm Z mZ d dlmZ d dlmZ d dlmZ ejd dd� dkr�d d lmZ nd d lmZ zd dlZW n ey� d dlZY n0 e�e�ZG d d� de�Z G dd � d e�Z!ddd�Z"G dd� de�Z#dS )� N)�BytesIO)� SO_RCVBUF� SOL_SOCKET)�config)�netns)�NetlinkSocketBase���ZBSD)�IPRoutec @ sP e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� ZdS )� Transportz} A simple transport protocols to send objects between two end-points. Requires an open file-like object at init. c C s. || _ t�� | _t�� | _t�� | _d| _d S )NT) �file_obj� threading�Lock�lock�queue�Queue� cmd_queue� brd_queue�run)�selfr � r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/pyroute2/remote/transport.py�__init__$ s zTransport.__init__c C s | j �� S �N)r �fileno�r r r r r + s zTransport.filenoc C sR t � }t�||� t�dt|�� �d d�}||�� 7 }| j�|� | j� � d S �NZII� r ) r �pickle�dump�struct�pack�len�getvaluer �write�flush)r �objr �packetr r r �send. s zTransport.sendc C sL t �d| j�d��\}}t� }|�| j�|d �� |�d� t�|�}|S r ) r �unpackr �readr r# �seekr �load)r �length�offsetr �retr r r Z__recv6 s zTransport.__recvc C s� | j r�| j�d�r�z�z:|�d�}|d u r:W W | j�� q n|W W | j�� S W n tjyb Y n0 | �� }||d �s�|�|� n|�d � |W | j�� S W | j�� q�| j�� 0 q d }z|jdd�}W n tjy� Y n0 |d ur |S q d S )NF�stage� )�timeout) r r �acquire�get�releaser �Empty�_Transport__recv�put)r Z own_queueZother_queue�checkr. r r r �_m_recv>