Example #1
0
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