asyncio: Tulip issue 112: Inline make_handle() into Handle constructor
authorVictor Stinner <victor.stinner@gmail.com>
Sun, 9 Feb 2014 23:45:44 +0000 (00:45 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Sun, 9 Feb 2014 23:45:44 +0000 (00:45 +0100)
Lib/asyncio/base_events.py
Lib/asyncio/events.py
Lib/asyncio/selector_events.py
Lib/asyncio/test_utils.py
Lib/asyncio/unix_events.py
Lib/test/test_asyncio/test_events.py

index db57ee865a09fddc66184563c9871d4877a307fe..558406c272f9010017adc87614083eed2ddac1f3 100644 (file)
@@ -240,7 +240,7 @@ class BaseEventLoop(events.AbstractEventLoop):
         Any positional arguments after the callback will be passed to
         the callback when it is called.
         """
-        handle = events.make_handle(callback, args)
+        handle = events.Handle(callback, args)
         self._ready.append(handle)
         return handle
 
index 62400195a2424ed3dd4ce0117215ed1f98a3891c..4c0cbb091768bccd62f13c33e65d97f6c8e7ea8f 100644 (file)
@@ -20,6 +20,7 @@ class Handle:
     """Object returned by callback registration methods."""
 
     def __init__(self, callback, args):
+        assert not isinstance(callback, Handle), 'A Handle is not a callback'
         self._callback = callback
         self._args = args
         self._cancelled = False
@@ -42,12 +43,6 @@ class Handle:
         self = None  # Needed to break cycles when an exception occurs.
 
 
-def make_handle(callback, args):
-    # TODO: Inline this?  Or make it a private EventLoop method?
-    assert not isinstance(callback, Handle), 'A Handle is not a callback'
-    return Handle(callback, args)
-
-
 class TimerHandle(Handle):
     """Object returned by timed callback registration methods."""
 
index 202c14b793de5188587d336be5323ebfa42f5646..14231c5fb8eb49018ee540984842a291dc725aa1 100644 (file)
@@ -132,7 +132,7 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop):
 
     def add_reader(self, fd, callback, *args):
         """Add a reader callback."""
-        handle = events.make_handle(callback, args)
+        handle = events.Handle(callback, args)
         try:
             key = self._selector.get_key(fd)
         except KeyError:
@@ -167,7 +167,7 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop):
 
     def add_writer(self, fd, callback, *args):
         """Add a writer callback.."""
-        handle = events.make_handle(callback, args)
+        handle = events.Handle(callback, args)
         try:
             key = self._selector.get_key(fd)
         except KeyError:
index ccb445418d5397ec06b0f75b6a48f1dbde4c8497..71d69cfacc82a0cdf17ed19c700431803b222167 100644 (file)
@@ -216,7 +216,7 @@ class TestLoop(base_events.BaseEventLoop):
                 raise AssertionError("Time generator is not finished")
 
     def add_reader(self, fd, callback, *args):
-        self.readers[fd] = events.make_handle(callback, args)
+        self.readers[fd] = events.Handle(callback, args)
 
     def remove_reader(self, fd):
         self.remove_reader_count[fd] += 1
@@ -235,7 +235,7 @@ class TestLoop(base_events.BaseEventLoop):
             handle._args, args)
 
     def add_writer(self, fd, callback, *args):
-        self.writers[fd] = events.make_handle(callback, args)
+        self.writers[fd] = events.Handle(callback, args)
 
     def remove_writer(self, fd):
         self.remove_writer_count[fd] += 1
index 3ce2db8d42dc8f4fc72abad60e485669b9b38753..ea79d33b33a9f2c47b51dcce95a110dca5f14e0a 100644 (file)
@@ -64,7 +64,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
         except ValueError as exc:
             raise RuntimeError(str(exc))
 
-        handle = events.make_handle(callback, args)
+        handle = events.Handle(callback, args)
         self._signal_handlers[sig] = handle
 
         try:
index c2988c0f5ea218510e2a39f4ea353e35a5a9ff65..4fb4b25481b2acedb754d926342e8b97d3a61948 100644 (file)
@@ -1660,12 +1660,12 @@ class HandleTests(unittest.TestCase):
             '<function HandleTests.test_handle.<locals>.callback'))
         self.assertTrue(r.endswith('())<cancelled>'), r)
 
-    def test_make_handle(self):
+    def test_handle(self):
         def callback(*args):
             return args
         h1 = asyncio.Handle(callback, ())
         self.assertRaises(
-            AssertionError, asyncio.events.make_handle, h1, ())
+            AssertionError, asyncio.Handle, h1, ())
 
     @unittest.mock.patch('asyncio.events.logger')
     def test_callback_with_exception(self, log):