示例#1
0
class Hub(object):
    def __init__(self):
        # mapping of username -> Queue
        self.users = TimerDict()
        self.notices = []

    def subscribe(self, username):
        if username not in self.users:
            queue = Queue()
            self.users.update({username: queue})

    def cancel_subscribe(self, username):
        if username in self.users:
            self.users.pop(username)

    def add_notice(self, notice, username):
        self.subscribe(username)
        queue = self.users[username]
        queue.put_nowait(notice)
        self.notices.append(notice)

    def get_all_notice(self, username):
        return self.notices

    # def get_unread_notice(self, username):
    #     pass

    def save_forever(self):
        pass
示例#2
0
 def __init__(self):
     # mapping of username -> Queue
     self.users = TimerDict()
     self.notices = []