def __init__(self, chatroom_prefix, msg_callback, get_local_user, *args, **kwargs): ''' Args: chatroom_prefix (str): A broadcast prefix for the chatroom; this is used by Chronos for it's sync Interests. msg_callbck : The callback function when a Peets Message comes. get_local_user : A function that returns the local user information. ''' super(Roster, self).__init__(self.announce, self.reap_callback, *args, **kwargs) self.msg_callback = msg_callback self.get_local_user = get_local_user self.status = self.__class__.Init self.session = int(time()) self.peetsClosure = PeetsClosure(msg_callback = self.process_peets_msg) self.ccnx_sock = CcnxSocket() self.ccnx_sock.start() self.chronos_sock = SimpleChronosSocket(chatroom_prefix, self.fetch_peets_msg) # send join after 0.5 second self.schedule_next(0.5, self.announce)
#!/usr/bin/env python from time import sleep from chronos import SimpleChronosSocket def func(str): print "Got data: " + str if __name__ == '__main__': socket = SimpleChronosSocket("/chronos", func) sleep(1) socket.publish_string("/1/2", 0, "Hello from socket.", 100) sleep(1) socket2 = SimpleChronosSocket("/chronos", func) sleep(1) socket.stop() socket2.stop() print "done"