File: //lib64/python3.6/asyncio/__pycache__/windows_utils.cpython-36.opt-2.pyc
3
\ @ s d dl Z e jdkredd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
dddddgZd Zej
Z
ejZej ZeedrejZnejejd fd
dZdded
ddZG dd dZG dd dejZdS ) NZwin32z
win32 only
socketpairpipePopenPIPE
PipeHandlei c
C s | t jkrd}n| t jkr d}ntd|t jkr:td|dkrJtdt j | ||}z|j|df |jd |j d d \}}t j | ||}yP|jd y|j ||f W n t
tfk
r Y nX |jd
|j \}} W n |j
Y nX W d |j
X ||fS )Nz 127.0.0.1z::1z?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedr zOnly protocol zero is supported FT)socketAF_INETZAF_INET6
ValueErrorSOCK_STREAMZbindZlistenZgetsocknameZsetblockingZconnectBlockingIOErrorInterruptedErrorZacceptclose)
ZfamilytypeprotohostZlsockZaddrZportZcsockZssock_ r -/usr/lib64/python3.6/asyncio/windows_utils.pyr % s8
FT)duplex
overlappedbufsizec C s" t jdtj ttf d}| r>tj}tjtj B }|| }}ntj
}tj }d| }}|tjO }|d rp|tjO }|d rtj}nd}d } }
yZtj
||tjd||tjtj} tj||dtjtj|tj}
tj| dd}|jd | |
fS | d k rtj| |
d k rtj|
Y nX d S )Nz\\.\pipe\python-pipe-%d-%d-)prefixr r T)r )tempfileZmktemposgetpidnext
_mmap_counter_winapiZPIPE_ACCESS_DUPLEXZGENERIC_READZ
GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ
CreateFileZ
OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResultCloseHandle)r r r ZaddressZopenmodeaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zovr r r r S s@
c @ sX e Zd Zdd Zdd Zedd Zdd Zej d d
dZ
dd
Zdd Zdd Z
dS )r c C s
|| _ d S )N)_handle)selfhandler r r __init__ s zPipeHandle.__init__c C s* | j d k rd| j }nd}d| jj|f S )Nz handle=%rclosedz<%s %s>)r"