3 i" @ s d dl Z d dlZd dlZd dlZd dlZd dljZdZG dd dZ G dd de Z G dd de ZG d d d e ZG dd de ZG d d deZG dd deZG dd dZdS ) Nz./criu_service.socketc @ s8 e Zd ZdZdZdZdZdZdZdZ dd Z dd ZdS ) _criu_commz/ Base class for communication classes. r Nc C s dS )z Connect to criu and return socket object. daemon -- is for whether or not criu should daemonize if executing criu from binary(comm_bin). N )selfdaemonr r /usr/lib/python3.6/criu.pyconnect s z_criu_comm.connectc C s dS )z' Disconnect from criu. Nr )r r r r disconnect s z_criu_comm.disconnect)__name__ __module____qualname____doc__COMM_SKCOMM_FDCOMM_BIN comm_typecommskr r r r r r r s r c @ s( e Zd ZdZdd Zdd Zdd ZdS ) _criu_comm_skz. Communication class for unix socket. c C s | j | _|| _d S )N)r r r )r Zsk_pathr r r __init__+ s z_criu_comm_sk.__init__c C sb t j t jt j| _y| jj| j W n6 tk r@ tdY n tk rZ tdY nX | jS )NzSocket file not found.zService not running.)socketAF_UNIXSOCK_SEQPACKETr r r FileNotFoundErrorConnectionRefusedError)r r r r r r / s z_criu_comm_sk.connectc C s | j j d S )N)r close)r r r r r <