當前位置: 首頁>>代碼示例>>Python>>正文


Python selectors.EVENT_READ屬性代碼示例

本文整理匯總了Python中asyncio.selectors.EVENT_READ屬性的典型用法代碼示例。如果您正苦於以下問題:Python selectors.EVENT_READ屬性的具體用法?Python selectors.EVENT_READ怎麽用?Python selectors.EVENT_READ使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在asyncio.selectors的用法示例。


在下文中一共展示了selectors.EVENT_READ屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_add_reader_existing

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_add_reader_existing(self):
        reader = mock.Mock()
        writer = mock.Mock()
        self.loop._selector.get_key.return_value = selectors.SelectorKey(
            1, 1, selectors.EVENT_WRITE, (reader, writer))
        cb = lambda: True
        self.loop.add_reader(1, cb)

        self.assertTrue(reader.cancel.called)
        self.assertFalse(self.loop._selector.register.called)
        self.assertTrue(self.loop._selector.modify.called)
        fd, mask, (r, w) = self.loop._selector.modify.call_args[0]
        self.assertEqual(1, fd)
        self.assertEqual(selectors.EVENT_WRITE | selectors.EVENT_READ, mask)
        self.assertEqual(cb, r._callback)
        self.assertEqual(writer, w) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:18,代碼來源:test_selector_events.py

示例2: test_register

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_register(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)

        rd, wr = self.make_socketpair()

        key = s.register(rd, selectors.EVENT_READ, "data")
        self.assertIsInstance(key, selectors.SelectorKey)
        self.assertEqual(key.fileobj, rd)
        self.assertEqual(key.fd, rd.fileno())
        self.assertEqual(key.events, selectors.EVENT_READ)
        self.assertEqual(key.data, "data")

        # register an unknown event
        self.assertRaises(ValueError, s.register, 0, 999999)

        # register an invalid FD
        self.assertRaises(ValueError, s.register, -10, selectors.EVENT_READ)

        # register twice
        self.assertRaises(KeyError, s.register, rd, selectors.EVENT_READ)

        # register the same FD, but with a different object
        self.assertRaises(KeyError, s.register, rd.fileno(),
                          selectors.EVENT_READ) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:27,代碼來源:test_selectors.py

示例3: test_unregister_after_fd_close_and_reuse

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_unregister_after_fd_close_and_reuse(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)
        rd, wr = self.make_socketpair()
        r, w = rd.fileno(), wr.fileno()
        s.register(r, selectors.EVENT_READ)
        s.register(w, selectors.EVENT_WRITE)
        rd2, wr2 = self.make_socketpair()
        rd.close()
        wr.close()
        os.dup2(rd2.fileno(), r)
        os.dup2(wr2.fileno(), w)
        self.addCleanup(os.close, r)
        self.addCleanup(os.close, w)
        s.unregister(r)
        s.unregister(w) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:18,代碼來源:test_selectors.py

示例4: test_select

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_select(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)

        rd, wr = self.make_socketpair()

        s.register(rd, selectors.EVENT_READ)
        wr_key = s.register(wr, selectors.EVENT_WRITE)

        result = s.select()
        for key, events in result:
            self.assertTrue(isinstance(key, selectors.SelectorKey))
            self.assertTrue(events)
            self.assertFalse(events & ~(selectors.EVENT_READ |
                                        selectors.EVENT_WRITE))

        self.assertEqual([(wr_key, selectors.EVENT_WRITE)], result) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:19,代碼來源:test_selectors.py

示例5: test_timeout

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_timeout(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)

        rd, wr = self.make_socketpair()

        s.register(wr, selectors.EVENT_WRITE)
        t = time()
        self.assertEqual(1, len(s.select(0)))
        self.assertEqual(1, len(s.select(-1)))
        self.assertLess(time() - t, 0.5)

        s.unregister(wr)
        s.register(rd, selectors.EVENT_READ)
        t = time()
        self.assertFalse(s.select(0))
        self.assertFalse(s.select(-1))
        self.assertLess(time() - t, 0.5)

        t0 = time()
        self.assertFalse(s.select(1))
        t1 = time()
        dt = t1 - t0
        # Tolerate 2.0 seconds for very slow buildbots
        self.assertTrue(0.8 <= dt <= 2.0, dt) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:27,代碼來源:test_selectors.py

示例6: test_select_interrupt

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_select_interrupt(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)

        rd, wr = self.make_socketpair()

        orig_alrm_handler = signal.signal(signal.SIGALRM, lambda *args: None)
        self.addCleanup(signal.signal, signal.SIGALRM, orig_alrm_handler)
        self.addCleanup(signal.alarm, 0)

        signal.alarm(1)

        s.register(rd, selectors.EVENT_READ)
        t = time()
        self.assertFalse(s.select(2))
        self.assertLess(time() - t, 2.5) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:18,代碼來源:test_selectors.py

示例7: test_add_reader

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_add_reader(self):
        self.loop._selector.get_key.side_effect = KeyError
        cb = lambda: True
        self.loop.add_reader(1, cb)

        self.assertTrue(self.loop._selector.register.called)
        fd, mask, (r, w) = self.loop._selector.register.call_args[0]
        self.assertEqual(1, fd)
        self.assertEqual(selectors.EVENT_READ, mask)
        self.assertEqual(cb, r._callback)
        self.assertIsNone(w) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:13,代碼來源:test_selector_events.py

示例8: test_add_reader_existing_writer

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_add_reader_existing_writer(self):
        writer = mock.Mock()
        self.loop._selector.get_key.return_value = selectors.SelectorKey(
            1, 1, selectors.EVENT_WRITE, (None, writer))
        cb = lambda: True
        self.loop.add_reader(1, cb)

        self.assertFalse(self.loop._selector.register.called)
        self.assertTrue(self.loop._selector.modify.called)
        fd, mask, (r, w) = self.loop._selector.modify.call_args[0]
        self.assertEqual(1, fd)
        self.assertEqual(selectors.EVENT_WRITE | selectors.EVENT_READ, mask)
        self.assertEqual(cb, r._callback)
        self.assertEqual(writer, w) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:16,代碼來源:test_selector_events.py

示例9: test_remove_reader

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_remove_reader(self):
        self.loop._selector.get_key.return_value = selectors.SelectorKey(
            1, 1, selectors.EVENT_READ, (None, None))
        self.assertFalse(self.loop.remove_reader(1))

        self.assertTrue(self.loop._selector.unregister.called) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:8,代碼來源:test_selector_events.py

示例10: test_remove_reader_read_write

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_remove_reader_read_write(self):
        reader = mock.Mock()
        writer = mock.Mock()
        self.loop._selector.get_key.return_value = selectors.SelectorKey(
            1, 1, selectors.EVENT_READ | selectors.EVENT_WRITE,
            (reader, writer))
        self.assertTrue(
            self.loop.remove_reader(1))

        self.assertFalse(self.loop._selector.unregister.called)
        self.assertEqual(
            (1, selectors.EVENT_WRITE, (None, writer)),
            self.loop._selector.modify.call_args[0]) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:15,代碼來源:test_selector_events.py

示例11: test_remove_writer_read_write

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_remove_writer_read_write(self):
        reader = mock.Mock()
        writer = mock.Mock()
        self.loop._selector.get_key.return_value = selectors.SelectorKey(
            1, 1, selectors.EVENT_READ | selectors.EVENT_WRITE,
            (reader, writer))
        self.assertTrue(
            self.loop.remove_writer(1))

        self.assertFalse(self.loop._selector.unregister.called)
        self.assertEqual(
            (1, selectors.EVENT_READ, (reader, None)),
            self.loop._selector.modify.call_args[0]) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:15,代碼來源:test_selector_events.py

示例12: test_process_events_read

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_process_events_read(self):
        reader = mock.Mock()
        reader._cancelled = False

        self.loop._add_callback = mock.Mock()
        self.loop._process_events(
            [(selectors.SelectorKey(
                1, 1, selectors.EVENT_READ, (reader, None)),
              selectors.EVENT_READ)])
        self.assertTrue(self.loop._add_callback.called)
        self.loop._add_callback.assert_called_with(reader) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:13,代碼來源:test_selector_events.py

示例13: test_process_events_read_cancelled

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_process_events_read_cancelled(self):
        reader = mock.Mock()
        reader.cancelled = True

        self.loop.remove_reader = mock.Mock()
        self.loop._process_events(
            [(selectors.SelectorKey(
                1, 1, selectors.EVENT_READ, (reader, None)),
             selectors.EVENT_READ)])
        self.loop.remove_reader.assert_called_with(1) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:12,代碼來源:test_selector_events.py

示例14: test_unregister

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_unregister(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)

        rd, wr = self.make_socketpair()

        s.register(rd, selectors.EVENT_READ)
        s.unregister(rd)

        # unregister an unknown file obj
        self.assertRaises(KeyError, s.unregister, 999999)

        # unregister twice
        self.assertRaises(KeyError, s.unregister, rd) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:16,代碼來源:test_selectors.py

示例15: test_unregister_after_socket_close

# 需要導入模塊: from asyncio import selectors [as 別名]
# 或者: from asyncio.selectors import EVENT_READ [as 別名]
def test_unregister_after_socket_close(self):
        s = self.SELECTOR()
        self.addCleanup(s.close)
        rd, wr = self.make_socketpair()
        s.register(rd, selectors.EVENT_READ)
        s.register(wr, selectors.EVENT_WRITE)
        rd.close()
        wr.close()
        s.unregister(rd)
        s.unregister(wr) 
開發者ID:hhstore,項目名稱:annotated-py-asyncio,代碼行數:12,代碼來源:test_selectors.py


注:本文中的asyncio.selectors.EVENT_READ屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。