def __init__(self, dstconf, transport_class, transport_kwargs):
super(PupyAsyncStream, self).__init__()
self.active=True
#buffers for streams
self.buf_in=Buffer()
self.buf_out=Buffer()
self.buf_tmp=Buffer()
self.cookie=''.join(random.SystemRandom().choice("abcdef0123456789") for _ in range(32))
self.buf_in.cookie=self.cookie
self.buf_out.cookie=self.cookie
self.buf_tmp.cookie=self.cookie
#buffers for transport
self.upstream=Buffer(transport_func=addGetPeer(("127.0.0.1", 443)))
self.downstream=Buffer(transport_func=addGetPeer(("127.0.0.1", 443)))
self.upstream_lock=multiprocessing.Lock()
self.downstream_lock=multiprocessing.Lock()
self.transport=transport_class(self, **transport_kwargs)
self.max_pull_interval=2
self.pull_interval=0
self.pull_event=multiprocessing.Event()
self.MAX_IO_CHUNK=32000*100 #3Mo because it is a async transport
self.client_side=self.transport.client
if self.client_side:
self.poller_thread=multiprocessing.Process(target=self.poller_loop)
self.poller_thread.daemon=True
self.poller_thread.start()
self.on_connect()
评论列表
文章目录