def send_text_msg(text): msg = "node:textmsg:" + text instance.gmutex.acquire() for peer in network.get_connection_list(): if peer == instance.name: continue; network.send(peer, msg) instance.gmutex.release()
def send_text_msg(text): msg = "node:textmsg:" + text instance.gmutex.acquire() log_text_msg(instance.name, text) gui.append_chat_msg(time.strftime("%H-%M-%S"), instance.name, text) for peer in network.get_connection_list(): if peer == instance.name: continue; network.send(peer, msg) instance.gmutex.release()
def send_heartbeats(): data = gen_heartbeat_str() print "Sending heartbeats..", data for peer in network.get_connection_list(): if peer not in instance.heartbeat_time: instance.heartbeat_time[peer] = time.time() if (time.time() - instance.heartbeat_time[peer]) >= instance.HEARTBEAT_TIMEOUT: print "Timeout: ", peer, "Current time: ", time.time(), "Last replied: ", instance.heartbeat_time[peer] #TODO: handle timeout else: network.send(peer, data) #print "Heartbeat reply times:", instance.heartbeat_time api.update_video_source(instance.curr_video_name, instance.curr_video_ip, instance.curr_video_port)
def update_meeting_info(): if instance.gui_inited == False: return global wTree meetinginfo = wTree.get_object("meetinginfo"); buf = meetinginfo.get_buffer() msg = "" msg += "< Name: " + instance.name + " >\n" msg += "< Meeting ID: " + str(instance.meeting_id) + " >\n" msg += "\nOnline Members:\n" + instance.name + "\n" for peer in network.get_connection_list(): msg += peer + "\n" msg += "\nAll Members:\n" for node in instance.nodes: msg += chr(65 + config.get_node_index(node.name)) + ") " + node.name + "\n" buf.set_text(msg)