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
Example #2
0
    print 'New peer: %s' % repr(sender.address)
    return

def on_message(topic, message, channel):
    print 'SUBSCRIBER:', repr(topic), repr(message)
    return
#
###

if __name__ == '__main__':
    from gst.util.localip import get_local_ip
    default_kb_handling()
    local_ip = get_local_ip()
    mca = '235.1.1.1'
    my_sock = UdpSocket(('', 0))
    rmchandler = RmcProtocolHandler((mca, 8000), uc_socket=my_sock)
    rmchandler.add_action('new_sender', new_peer)
    rmchandler.add_action('missing_heartbeat', lost_peer)
##     rmchandler.add_action('__received_packet__', packet_in)
##     rmchandler.add_action('__sent_packet__', packet_out)
    channel = gst.pubsub.MulticastChannel('mc test', rmchandler)
    channel.add_subscriber(on_message, ['test/2', 'test/5'])
    try:
        event.dispatch()
    finally:
        rmchandler.finish()
#


### Local Variables:
### mode: python