Exemplo n.º 1
0
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
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
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)