Issue #20455: Add a resolution attribute to IocpProactor (1 ms)

This commit is contained in:
Victor Stinner 2014-01-31 16:26:38 +01:00
parent f2e1768bc1
commit 1506df2655
3 changed files with 4 additions and 0 deletions

View file

@ -354,6 +354,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop):
self._selector = proactor # convenient alias self._selector = proactor # convenient alias
self._self_reading_future = None self._self_reading_future = None
self._accept_futures = {} # socket file descriptor => Future self._accept_futures = {} # socket file descriptor => Future
self._granularity = max(proactor.resolution, self._granularity)
proactor.set_loop(self) proactor.set_loop(self)
self._make_self_pipe() self._make_self_pipe()

View file

@ -191,6 +191,7 @@ class IocpProactor:
self._cache = {} self._cache = {}
self._registered = weakref.WeakSet() self._registered = weakref.WeakSet()
self._stopped_serving = weakref.WeakSet() self._stopped_serving = weakref.WeakSet()
self.resolution = 1e-3
def set_loop(self, loop): def set_loop(self, loop):
self._loop = loop self._loop = loop

View file

@ -17,6 +17,7 @@ class ProactorSocketTransportTests(unittest.TestCase):
def setUp(self): def setUp(self):
self.loop = test_utils.TestLoop() self.loop = test_utils.TestLoop()
self.proactor = unittest.mock.Mock() self.proactor = unittest.mock.Mock()
self.proactor.resolution = 1e-3
self.loop._proactor = self.proactor self.loop._proactor = self.proactor
self.protocol = test_utils.make_test_protocol(asyncio.Protocol) self.protocol = test_utils.make_test_protocol(asyncio.Protocol)
self.sock = unittest.mock.Mock(socket.socket) self.sock = unittest.mock.Mock(socket.socket)
@ -342,6 +343,7 @@ class BaseProactorEventLoopTests(unittest.TestCase):
def setUp(self): def setUp(self):
self.sock = unittest.mock.Mock(socket.socket) self.sock = unittest.mock.Mock(socket.socket)
self.proactor = unittest.mock.Mock() self.proactor = unittest.mock.Mock()
self.proactor.resolution = 1e-3
self.ssock, self.csock = unittest.mock.Mock(), unittest.mock.Mock() self.ssock, self.csock = unittest.mock.Mock(), unittest.mock.Mock()