From 1506df265553aae4cdcda3320e1634bf1cd2476f Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 31 Jan 2014 16:26:38 +0100 Subject: Issue #20455: Add a resolution attribute to IocpProactor (1 ms) --- Lib/asyncio/proactor_events.py | 1 + Lib/asyncio/windows_events.py | 1 + Lib/test/test_asyncio/test_proactor_events.py | 2 ++ 3 files changed, 4 insertions(+) diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index f0c08c2..b6b3be2 100644 --- a/Lib/asyncio/proactor_events.py +++ b/Lib/asyncio/proactor_events.py @@ -354,6 +354,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop): self._selector = proactor # convenient alias self._self_reading_future = None self._accept_futures = {} # socket file descriptor => Future + self._granularity = max(proactor.resolution, self._granularity) proactor.set_loop(self) self._make_self_pipe() diff --git a/Lib/asyncio/windows_events.py b/Lib/asyncio/windows_events.py index 0a2d981..b8574fa 100644 --- a/Lib/asyncio/windows_events.py +++ b/Lib/asyncio/windows_events.py @@ -191,6 +191,7 @@ class IocpProactor: self._cache = {} self._registered = weakref.WeakSet() self._stopped_serving = weakref.WeakSet() + self.resolution = 1e-3 def set_loop(self, loop): self._loop = loop diff --git a/Lib/test/test_asyncio/test_proactor_events.py b/Lib/test/test_asyncio/test_proactor_events.py index 9964f42..98abe69 100644 --- a/Lib/test/test_asyncio/test_proactor_events.py +++ b/Lib/test/test_asyncio/test_proactor_events.py @@ -17,6 +17,7 @@ class ProactorSocketTransportTests(unittest.TestCase): def setUp(self): self.loop = test_utils.TestLoop() self.proactor = unittest.mock.Mock() + self.proactor.resolution = 1e-3 self.loop._proactor = self.proactor self.protocol = test_utils.make_test_protocol(asyncio.Protocol) self.sock = unittest.mock.Mock(socket.socket) @@ -342,6 +343,7 @@ class BaseProactorEventLoopTests(unittest.TestCase): def setUp(self): self.sock = unittest.mock.Mock(socket.socket) self.proactor = unittest.mock.Mock() + self.proactor.resolution = 1e-3 self.ssock, self.csock = unittest.mock.Mock(), unittest.mock.Mock() -- cgit v0.12