diff options
author | Yury Selivanov <yury@magic.io> | 2016-09-12 01:11:19 (GMT) |
---|---|---|
committer | Yury Selivanov <yury@magic.io> | 2016-09-12 01:11:19 (GMT) |
commit | 966321e236548e056b2566ae24f60a2a7cfc2511 (patch) | |
tree | 234e9714a7b333b87f79ff734e7de15a56968d5a /Lib | |
parent | 0b51fd434156f19aaf9a34f273a55f62047dc1a6 (diff) | |
parent | a05a6ef1ca781e2f98fb4332284aca649f24f75d (diff) | |
download | cpython-966321e236548e056b2566ae24f60a2a7cfc2511.zip cpython-966321e236548e056b2566ae24f60a2a7cfc2511.tar.gz cpython-966321e236548e056b2566ae24f60a2a7cfc2511.tar.bz2 |
Merge 3.5 (asyncio)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/asyncio/base_subprocess.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/proactor_events.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/selector_events.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/sslproto.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/transports.py | 8 | ||||
-rw-r--r-- | Lib/asyncio/unix_events.py | 12 | ||||
-rw-r--r-- | Lib/test/test_asyncio/test_sslproto.py | 1 |
7 files changed, 45 insertions, 0 deletions
diff --git a/Lib/asyncio/base_subprocess.py b/Lib/asyncio/base_subprocess.py index fb8c2ba..28482b7 100644 --- a/Lib/asyncio/base_subprocess.py +++ b/Lib/asyncio/base_subprocess.py @@ -87,6 +87,12 @@ class BaseSubprocessTransport(transports.SubprocessTransport): def _start(self, args, shell, stdin, stdout, stderr, bufsize, **kwargs): raise NotImplementedError + def set_protocol(self, protocol): + self._protocol = protocol + + def get_protocol(self): + return self._protocol + def is_closing(self): return self._closed diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index 4b6067a..68a523a 100644 --- a/Lib/asyncio/proactor_events.py +++ b/Lib/asyncio/proactor_events.py @@ -66,6 +66,12 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin, def _set_extra(self, sock): self._extra['pipe'] = sock + def set_protocol(self, protocol): + self._protocol = protocol + + def get_protocol(self): + return self._protocol + def is_closing(self): return self._closing diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py index 34cce6b..1850bdb 100644 --- a/Lib/asyncio/selector_events.py +++ b/Lib/asyncio/selector_events.py @@ -560,6 +560,12 @@ class _SelectorTransport(transports._FlowControlMixin, def abort(self): self._force_close(None) + def set_protocol(self, protocol): + self._protocol = protocol + + def get_protocol(self): + return self._protocol + def is_closing(self): return self._closing diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py index f0f642e..92d3c4c 100644 --- a/Lib/asyncio/sslproto.py +++ b/Lib/asyncio/sslproto.py @@ -305,6 +305,12 @@ class _SSLProtocolTransport(transports._FlowControlMixin, """Get optional transport information.""" return self._ssl_protocol._get_extra_info(name, default) + def set_protocol(self, protocol): + self._app_protocol = protocol + + def get_protocol(self): + return self._app_protocol + def is_closing(self): return self._closed diff --git a/Lib/asyncio/transports.py b/Lib/asyncio/transports.py index 9a6d919..0db0875 100644 --- a/Lib/asyncio/transports.py +++ b/Lib/asyncio/transports.py @@ -33,6 +33,14 @@ class BaseTransport: """ raise NotImplementedError + def set_protocol(self, protocol): + """Set a new protocol.""" + raise NotImplementedError + + def get_protocol(self): + """Return the current protocol.""" + raise NotImplementedError + class ReadTransport(BaseTransport): """Interface for read-only transports.""" diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index d183f60..4222054 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -374,6 +374,12 @@ class _UnixReadPipeTransport(transports.ReadTransport): def resume_reading(self): self._loop.add_reader(self._fileno, self._read_ready) + def set_protocol(self, protocol): + self._protocol = protocol + + def get_protocol(self): + return self._protocol + def is_closing(self): return self._closing @@ -571,6 +577,12 @@ class _UnixWritePipeTransport(transports._FlowControlMixin, self._loop.remove_reader(self._fileno) self._loop.call_soon(self._call_connection_lost, None) + def set_protocol(self, protocol): + self._protocol = protocol + + def get_protocol(self): + return self._protocol + def is_closing(self): return self._closing diff --git a/Lib/test/test_asyncio/test_sslproto.py b/Lib/test/test_asyncio/test_sslproto.py index 8d52335..7dfa6c2 100644 --- a/Lib/test/test_asyncio/test_sslproto.py +++ b/Lib/test/test_asyncio/test_sslproto.py @@ -25,6 +25,7 @@ class SslProtoHandshakeTests(test_utils.TestCase): sslcontext = test_utils.dummy_ssl_context() app_proto = asyncio.Protocol() proto = sslproto.SSLProtocol(self.loop, app_proto, sslcontext, waiter) + self.assertIs(proto._app_transport.get_protocol(), app_proto) self.addCleanup(proto._app_transport.close) return proto |