示例#1
0
class IRCProxy(object):
    def __init__(self, irc_delegate, irc_bot=IRCBot):
        _log.info("Connecting to IRC")
        self._message_queue = ThreadedMessageQueue()
        self._child_thread = _IRCThread(self._message_queue, irc_delegate, irc_bot)
        self._child_thread.start()

    def post(self, message):
        self._message_queue.post(message)

    def disconnect(self):
        _log.info("Disconnecting from IRC...")
        self._message_queue.stop()
        self._child_thread.join()
示例#2
0
class IRCProxy(object):
    def __init__(self, irc_delegate, irc_bot=IRCBot):
        _log.info("Connecting to IRC")
        self._message_queue = ThreadedMessageQueue()
        self._child_thread = _IRCThread(self._message_queue, irc_delegate,
                                        irc_bot)
        self._child_thread.start()

    def post(self, message):
        self._message_queue.post(message)

    def disconnect(self):
        _log.info("Disconnecting from IRC...")
        self._message_queue.stop()
        self._child_thread.join()
示例#3
0
 def test_basic(self):
     queue = ThreadedMessageQueue()
     delegate = TestDelegate()
     pump = MessagePump(delegate, queue)
     self.assertEqual(delegate.log, [
         'schedule'
     ])
     delegate.callback()
     queue.post("Hello")
     queue.post("There")
     delegate.callback()
     self.assertEqual(delegate.log, [
         'schedule',
         'schedule',
         'message_available: Hello',
         'message_available: There',
         'schedule'
     ])
     queue.post("More")
     queue.post("Messages")
     queue.stop()
     delegate.callback()
     self.assertEqual(delegate.log, [
         'schedule',
         'schedule',
         'message_available: Hello',
         'message_available: There',
         'schedule',
         'message_available: More',
         'message_available: Messages',
         'final_message_delivered'
     ])
 def test_basic(self):
     queue = ThreadedMessageQueue()
     queue.post("Hello")
     queue.post("There")
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, ["Hello", "There"])
     self.assertTrue(is_running)
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, [])
     self.assertTrue(is_running)
     queue.post("More")
     queue.stop()
     queue.post("Messages")
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, ["More", "Messages"])
     self.assertFalse(is_running)
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, [])
     self.assertFalse(is_running)
 def test_basic(self):
     queue = ThreadedMessageQueue()
     queue.post("Hello")
     queue.post("There")
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, ["Hello", "There"])
     self.assertTrue(is_running)
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, [])
     self.assertTrue(is_running)
     queue.post("More")
     queue.stop()
     queue.post("Messages")
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, ["More", "Messages"])
     self.assertFalse(is_running)
     (messages, is_running) = queue.take_all()
     self.assertEqual(messages, [])
     self.assertFalse(is_running)