Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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)
Пример #4
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)