def main(local_ip, mca): my_sock = UdpSocket((local_ip, 0)) my_sock.receive_buffer_size = 8000 my_sock.send_buffer_size = 100000 mc_sock = UdpSocket((mca, 8000)) mc_sock.join_mcast_group(mca) mc_sock.receive_buffer_size = 8000 mc_sock.send_buffer_size = 100000 receiver = Receiver() handler = RmcProtocolHandler(my_sock, mc_sock) handler.MAX_BACKLOG = 1000 handler.MAX_BURST = 10 ## handler.add_action('__received_packet__', receiver.on_incomming_packet) ## handler.add_action('__sent_packet__', receiver.on_outgoing_packet) handler.add_action('missing_heartbeat', receiver.on_missing_sender) handler.add_action('new_sender', receiver.on_new_sender) handler.add_action('new_packet', receiver.on_new_packet) handler.add_action('got_heartbeat', receiver.on_heartbeat) handler.add_action('got_reset', receiver.on_reset) handler.add_action('got_lost', receiver.on_lost) handler.add_action('got_nack', receiver.on_nack) handler.add_action('sent_heartbeat', receiver.sent_heartbeat) handler.add_action('sent_lost', receiver.sent_lost) handler.add_action('sent_nack', receiver.sent_nack) print 'RECEIVER STARTED', repr(handler.local_addr) try: event.dispatch() except KeyboardInterrupt: pass handler.finish() now = time.time() print '%.6f: DONE' % now return