当前位置: 首页>>代码示例>>Python>>正文


Python Reactor.addWriter方法代码示例

本文整理汇总了Python中weightless.io.Reactor.addWriter方法的典型用法代码示例。如果您正苦于以下问题:Python Reactor.addWriter方法的具体用法?Python Reactor.addWriter怎么用?Python Reactor.addWriter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在weightless.io.Reactor的用法示例。


在下文中一共展示了Reactor.addWriter方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: testAddSocketWriting

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testAddSocketWriting(self):
     class Sok:
         def __hash__(self): return 1
     reactor = Reactor()
     mockSok = Sok()
     self.assertTrue(mockSok not in reactor._writers)
     reactor.addWriter(mockSok, None)
     self.assertTrue(mockSok in reactor._writers)
     reactor.removeWriter(mockSok)
     self.assertFalse(mockSok in reactor._writers)
开发者ID:blep,项目名称:weightless-core,代码行数:12,代码来源:reactortest.py

示例2: testWriteFollowsRead

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testWriteFollowsRead(self):
     reactor = Reactor(lambda r,w,o,t: (r,w,o))
     t = []
     def read():
         t.append('t1')
     def write():
         t.append('t2')
     reactor.addWriter('sok1', write)
     reactor.addReader('sok1', read)
     reactor.step()
     self.assertEquals(['t1', 't2'], t)
开发者ID:blep,项目名称:weightless-core,代码行数:13,代码来源:reactortest.py

示例3: testReadDeletesWrite

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testReadDeletesWrite(self):
     reactor = Reactor(lambda r,w,o,t: (r,w,o))
     self.read = self.write = False
     def read():
         self.read = True
         reactor.removeWriter('sok1')
     def write():
         self.write = True
     reactor.addWriter('sok1', write)
     reactor.addReader('sok1', read)
     reactor.step()
     self.assertTrue(self.read)
     self.assertFalse(self.write)
开发者ID:blep,项目名称:weightless-core,代码行数:15,代码来源:reactortest.py

示例4: testAssertionErrorInWRITECallback

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testAssertionErrorInWRITECallback(self):
     sys.stderr = StringIO()
     try:
         def callback(): raise AssertionError('here is the assertion')
         reactor = Reactor(lambda r, w, o, t: (r,w,o))
         reactor.addWriter(9, callback)
         try:
             reactor.step()
             self.fail('must raise exception')
         except AssertionError, e:
             self.assertEquals('here is the assertion', str(e))
     finally:
         sys.stderr = sys.__stderr__
开发者ID:blep,项目名称:weightless-core,代码行数:15,代码来源:reactortest.py

示例5: testWrongUseAfterSuspending

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testWrongUseAfterSuspending(self):
     reactor = Reactor(select_func=mockselect)
     handle = ['initial value']
     def callback():
         handle[0] = reactor.suspend()
     sok = MockSocket()
     reactor.addWriter(sok, callback)
     reactor.step()
     self.assertEquals(sok, handle[0])
     try:
         reactor.addWriter(sok, callback)
         self.fail("Exception not raised")
     except ValueError, e:
         self.assertEquals('Socket is suspended', str(e))
开发者ID:blep,项目名称:weightless-core,代码行数:16,代码来源:suspendtest.py

示例6: testGetRidOfClosedSocket

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testGetRidOfClosedSocket(self):
     reactor = Reactor()
     sok = socket()
     sok.close()
     callbacks = []
     def callback():
         callbacks.append(True)
     reactor.addReader(sok, callback)
     reactor.addWriter(sok, callback)
     with self.stderr_replaced() as s:
         reactor.step()
         reactor.step()
         self.assertTrue("Bad file descriptor" in s.getvalue(), s.getvalue())
     self.assertEquals({}, reactor._readers)
     self.assertEquals([True, True], callbacks)
开发者ID:blep,项目名称:weightless-core,代码行数:17,代码来源:reactortest.py

示例7: testReactorResumeWriter

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testReactorResumeWriter(self):
     handle = ['initial value']
     reactor = Reactor(select_func=mockselect)
     def callback():
         handle[0] = reactor.suspend()
         yield
         yield
     sok = MockSocket()
     reactor.addWriter(sok, callback().next)
     reactor.step()
     reactor.resumeWriter(handle[0])
     reactor.step()
     self.assertTrue(sok in reactor._writers)
     self.assertTrue(sok not in reactor._readers)
     self.assertRaises(KeyError, reactor.resumeWriter, handle[0])
开发者ID:blep,项目名称:weightless-core,代码行数:17,代码来源:suspendtest.py

示例8: testReactorSuspend

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
    def testReactorSuspend(self):
        handle = ['initial value']
        reactor = Reactor(select_func=mockselect)
        def callback():
            handle[0] = reactor.suspend()
        sok = MockSocket()
        reactor.addReader(sok, callback)
        self.assertTrue(sok in reactor._readers)
        reactor.step()
        self.assertTrue(sok not in reactor._readers)

        sok = MockSocket()
        reactor.addWriter(sok, callback)
        self.assertTrue(sok in reactor._writers)
        reactor.step()
        self.assertTrue(sok not in reactor._writers)
        self.assertTrue(handle[0] != None)
        self.assertTrue(handle[0] != 'initial value')
开发者ID:blep,项目名称:weightless-core,代码行数:20,代码来源:suspendtest.py

示例9: testCleanUp

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testCleanUp(self):
     reactor = Reactor(select_func=mockselect)
     def handler():
         reactor.suspend()
         yield
     reactor.addWriter(1, lambda: None)
     reactor.addReader(2, lambda: None)
     reactor.addReader(3, handler().next)
     reactor.step()
     self.assertTrue(1 in reactor._writers)
     reactor.cleanup(1)
     self.assertFalse(1 in reactor._writers)
     self.assertTrue(2 in reactor._readers)
     reactor.cleanup(2)
     self.assertFalse(2 in reactor._readers)
     self.assertTrue(3 in reactor._suspended)
     reactor.cleanup(3)
     self.assertFalse(3 in reactor._suspended)
开发者ID:blep,项目名称:weightless-core,代码行数:20,代码来源:suspendtest.py

示例10: testReaderOrWriterDoesNotMaskSystemExit

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
    def testReaderOrWriterDoesNotMaskSystemExit(self):
        fd, path = mkstemp()
        reactor = Reactor()
        def raiser():
            raise SystemExit('shutdown...')
        reactor.addReader(sok=fd, sink=raiser)
        self.assertEquals([raiser], [c.callback for c in reactor._readers.values()])
        try:
            reactor.step()
            self.fail('step() must raise SystemExit')
        except SystemExit:
            self.assertEquals([], [c.callback for c in reactor._readers.values()])

        fd, path = mkstemp()
        reactor = Reactor()
        reactor.addWriter(sok=fd, source=raiser)
        try:
            reactor.step()
            self.fail('step() must raise SystemExit')
        except SystemExit:
            self.assertEquals([], [c.callback for c in reactor._readers.values()])
开发者ID:blep,项目名称:weightless-core,代码行数:23,代码来源:reactortest.py

示例11: testReaderOrWriterDoesNotMaskKeyboardInterrupt

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
    def testReaderOrWriterDoesNotMaskKeyboardInterrupt(self):
        fd, path = mkstemp()
        reactor = Reactor()
        def raiser():
            raise KeyboardInterrupt('Ctrl-C')
        reactor.addReader(sok=fd, sink=raiser)
        self.assertEquals([raiser], [c.callback for c in reactor._readers.values()])
        try:
            reactor.step()
            self.fail('step() must raise KeyboardInterrupt')
        except KeyboardInterrupt:
            self.assertEquals([], [c.callback for c in reactor._readers.values()])

        fd, path = mkstemp()
        reactor = Reactor()
        reactor.addWriter(sok=fd, source=raiser)
        try:
            reactor.step()
            self.fail('step() must raise KeyboardInterrupt')
        except KeyboardInterrupt:
            self.assertEquals([], [c.callback for c in reactor._readers.values()])
开发者ID:blep,项目名称:weightless-core,代码行数:23,代码来源:reactortest.py

示例12: testShutdownReactor

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testShutdownReactor(self):
     reactor = Reactor()
     sok1 = MockSocket()
     sok2 = MockSocket()
     sok3 = MockSocket()
     def callback():
         reactor.suspend()
     reactor.addReader(sok1, lambda: None)
     reactor.addWriter(sok2, lambda: None)
     reactor.addWriter(sok3, callback)
     reactor.step()
     self.assertFalse(sok3.fileno() in reactor._fds)
     self.assertFalse(sok3.fileno() in reactor._fds)
     with self.stdout_replaced() as s:
         reactor.shutdown()
         self.assertTrue(str(sok1) in s.getvalue(), s.getvalue())
         self.assertTrue(str(sok2) in s.getvalue(), s.getvalue())
     self.assertTrue(str(sok3) in s.getvalue())
     self.assertTrue(sok1.closed)
     self.assertTrue(sok2.closed)
     self.assertTrue(sok3.closed)
开发者ID:seecr,项目名称:weightless-core,代码行数:23,代码来源:suspendtest.py

示例13: testGetRidOfBadFileDescriptors

# 需要导入模块: from weightless.io import Reactor [as 别名]
# 或者: from weightless.io.Reactor import addWriter [as 别名]
 def testGetRidOfBadFileDescriptors(self):
     reactor = Reactor()
     class BadSocket(object):
         def fileno(self): return 88
         def close(self): raise Exception('hell breaks loose')
     self.timeout = False
     def timeout():
         self.timeout = True
     reactor.addReader(99, lambda: None) # broken
     reactor.addWriter(99, lambda: None) # broken
     reactor.addReader(BadSocket(), lambda: None) # even more broken
     reactor.addTimer(0.01, timeout)
     with self.stderr_replaced() as s:
         for i in range(10):
             if self.timeout:
                 break
             reactor.step()
         self.assertTrue("Bad file descriptor" in s.getvalue(), s.getvalue())
     self.assertTrue(self.timeout)
     self.assertEquals({}, reactor._readers)
     self.assertEquals({}, reactor._writers)
     self.assertEquals([], reactor._timers)
开发者ID:blep,项目名称:weightless-core,代码行数:24,代码来源:reactortest.py


注:本文中的weightless.io.Reactor.addWriter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。