й¼]¥Nã@sYdgZddlZddlZddlmZddlmZddlmZddlmZddlmZdd lm Z dd l m Z Gd d „d e j e j ƒZGd d„dee jƒZGdd„dee jƒZGdd„deƒZGdd„deee jƒZGdd„deee jƒZGdd„dejƒZdS)ÚBaseProactorEventLoopéNé)Ú base_events)Úcompat)Ú constants)Úfutures)Ússlproto)Ú transports)Úloggercs»eZdZddd‡fdd†Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z e j r„dd„Z ddd„Z dd„Zdd„Zdd„Z‡S)Ú_ProactorBasePipeTransportNcsØtƒj||ƒ|j|ƒ||_||_||_d|_d|_d|_d|_ d|_ d|_ d|_ |jdk r–|jj ƒ|jj|jj|ƒ|dk rÔ|jjtj|dƒdS)NrF)ÚsuperÚ__init__Ú _set_extraÚ_sockÚ _protocolÚ_serverÚ_bufferÚ _read_futÚ _write_futÚ_pending_writeÚ _conn_lostÚ_closingÚ _eof_writtenZ_attachÚ_loopÚ call_soonZconnection_maderZ_set_result_unless_cancelled)ÚselfÚloopÚsockÚprotocolÚwaiterÚextraÚserver)Ú __class__©ú4/opt/alt/python35/lib64/python3.5/proactor_events.pyr s$             z#_ProactorBasePipeTransport.__init__cCs|jjg}|jdkr.|jdƒn|jrD|jdƒ|jdk rm|jd|jjƒƒ|jdk r�|jd|jƒ|jdk r³|jd|jƒ|jrÜt |jƒ}|jd|ƒ|j rò|jdƒdd j |ƒS) NÚclosedÚclosingzfd=%szread=%szwrite=%rzwrite_bufsize=%sz EOF writtenz<%s>ú ) r"Ú__name__rÚappendrÚfilenorrrÚlenrÚjoin)rÚinfoÚbufsizer#r#r$Ú__repr__/s"     z#_ProactorBasePipeTransport.__repr__cCs||jdr) rUrVrWr™rr[Ú ExceptionrBr‚r\r�)rrnrDr#r#r$r�Üs    z(BaseProactorEventLoop._loop_self_readingcCs|jjdƒdS)Ns)ršrl)rr#r#r$Ú_write_to_selfîsz$BaseProactorEventLoop._write_to_selfédcs5d‡‡‡‡‡‡fdd†‰ˆjˆƒdS)Ncs�yÈ|dk r¥|jƒ\}}ˆjr@tjdˆ||ƒˆƒ}ˆdk rƒˆj||ˆdddd|idˆƒn"ˆj||dd|idˆƒˆjƒrµdSˆjjˆƒ}Wn t k rL}zbˆj ƒdkrˆj dd d |d ˆiƒˆj ƒnˆjr:tjd ˆd dƒWYdd}~Xn?t jk rjˆj ƒYn!X|ˆjˆj ƒ<|jˆƒdS)Nz#%r got a new connection from %r: %rr†Tr r|r!rr=zAccept failed on a socketr>rHzAccept failed on socket %rr<éÿÿÿÿ)rUZ_debugr rAr‰r…r�rVr–rZr*rBr7rr[rƒr\)rnÚconnÚaddrrrD)rÚprotocol_factoryrr!rrˆr#r$rôs>            z2BaseProactorEventLoop._start_serving..loop)r)rr¤rrˆr!Úbacklogr#)rr¤rr!rrˆr$Ú_start_servingñs$$z$BaseProactorEventLoop._start_servingcCsdS)Nr#)rZ event_listr#r#r$Ú_process_eventssz%BaseProactorEventLoop._process_eventscCs5x!|jjƒD]}|jƒqW|jjƒdS)N)rƒÚvaluesr6Úclear)rÚfuturer#r#r$rŽsz*BaseProactorEventLoop._stop_accept_futurescCs(|jƒ|jj|ƒ|jƒdS)N)rŽrVÚ _stop_servingr7)rrr#r#r$r«#s z#BaseProactorEventLoop._stop_serving)r(rLrMr r…r‰rŠr‹rŒr7r‘r’r•r—r˜r�r„r�rŸr¦r§rŽr«r#r#)r"r$r{s4           (  )Ú__all__rHr8Úrrrrrr Úlogr Z_FlowControlMixinZ BaseTransportr Z ReadTransportrNZWriteTransportr_rrZ Transportryr{Z BaseEventLooprr#r#r#r$Ús.    € M T