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
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 ### End: