def update_map_loc(name, latitude, longitude): strs = instance.map_loc.split(":") new_map_loc = "map" found = False for i in range(1, len(strs)): loc = strs[i] data = loc.split("#") if data[0] == name: found = True new_map_loc += ":" + name + "#" + latitude + "#" + longitude + "#" + chr(65 + config.get_node_index(name)) else: new_map_loc += ":" + loc if found == False: new_map_loc += ":" + name + "#" + latitude + "#" + longitude + "#" + chr(65 + config.get_node_index(name)) instance.map_loc = new_map_loc
def run(self): while not instance.has_exited: time.sleep(instance.HEARTBEAT_SECS) if instance.is_master: instance.gmutex.acquire() send_heartbeats() instance.gmutex.release() else: node_index = config.get_node_index(instance.name) master_index = config.get_node_index(instance.curr_master) if node_index == master_index: continue elif node_index > master_index: timeout_val = (node_index - master_index) * instance.HEARTBEAT_TIMEOUT else: timeout_val = (len(instance.nodes) + node_index - master_index) * instance.HEARTBEAT_TIMEOUT #print "Master timeout val:", timeout_val if (time.time() - instance.last_heartbeat_rcvd) >= timeout_val: init_master()
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)