Repository URL to install this package:
Version:
4.0.109 ▾
|
ó ü Yc @ s d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z e j e Z y d d l Z d Z Wn e k r d Z n Xd e f d YZ d e j f d YZ d e f d YZ d e f d YZ d e j f d YZ d S( s, Serialization/Deserialization for privsep. The wire format is a stream of msgpack objects encoding primitive python datatypes. Msgpack 'raw' is assumed to be a valid utf8 string (msgpack 2.0 'bin' type is used for bytes). Python lists are converted to tuples during serialization/deserialization. iÿÿÿÿN( t _c C s t t j S( N( t idt greenlett getcurrent( ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt _get_thread_ident' s c C s t j j S( N( t threadingt current_threadt ident( ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR - s t Serializerc B s# e Z d Z d Z d Z RS( c C s | | _ d S( N( t writesock( t selfR ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt __init__2 s c C s) t j | d t } | j j | d S( Nt use_bin_type( t msgpackt packbt TrueR t sendall( R t msgt buf( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt send5 s c C s | j j t j d S( N( R t shutdownt sockett SHUT_WR( R ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt close9 s ( t __name__t __module__R R R ( ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR 1 s t Deserializerc B s# e Z d Z d Z d Z RS( c C s( | | _ t j d t d d | _ d S( Nt use_listt encodings utf-8( t readsockR t Unpackert Falset unpacker( R R ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR A s c C s | S( N( ( R ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt __iter__E s c C s xx t rz y t | j SWq t k rv y2 | j j d } | sK n | j j | Wqw t j k rr qw Xq Xq Wd S( Ni ( R t nextR t StopIterationR t recvt feedR t timeout( R R ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt __next__H s ( R R R R! R' ( ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR @ s t Futurec B s2 e Z d Z d Z d Z d Z d Z RS( s; A very simple object to track the return of a function callc C s( t j | | _ d | _ d | _ d S( N( R t Conditiont condvart Nonet errort data( R t lock( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR Y s c C s | | _ | j j d S( s0 Must already be holding lock used in constructorN( R- R* t notify( R R- ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt set_result^ s c C s | | _ | j j d S( s0 Must already be holding lock used in constructorN( R, R* R/ ( R t exc( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt set_exceptionc s c C s/ | j j | j d k r( | j n | j S( s0 Must already be holding lock used in constructorN( R* t waitR, R+ R- ( R ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyt resulth s ( R R t __doc__R R0 R2 R4 ( ( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR( V s t ClientChannelc B s5 e Z d Z d Z d Z d Z d Z RS( c C sq t | | _ t j | _ t j d d d | j d t | f | _ t | j _ i | _ | j j d S( Nt namet privsep_readert targett args( R t writerR t LockR. t Threadt _reader_mainR t reader_threadR t daemont outstanding_msgst start( R t sock( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR q s c C s¿ xb | D]Z } | \ } } | d k r( q | j . | | j k sG t | j | j | Wd QXq Wt j d t t d } | j , x$ | j j D] } | j | q WWd QXd S( s- This thread owns and demuxes the read channelNs EOF on privsep read channels, Premature eof waiting for privileged process( R+ R. RA t AssertionErrorR0 t LOGt debugt IOErrorR t valuesR2 ( R t readerR t msgidR- R1 t mbox( ( sF /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_privsep/comm.pyR>