Ejemplo n.º 1
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_show_family(VSTRING& param)
{
  int ret = TFS_ERROR;
  ParamInfo ret_param;
  if ((ret = parse_param(param, FAMILY_TYPE, ret_param)) != TFS_ERROR)
  {
    g_show_info.show_family(ret_param.type_, ret_param.num_, ret_param.family_id_, ret_param.count_, ret_param.interval_, ret_param.filename_);
  }
  return ret;
}
Ejemplo n.º 2
0
int cmd_show_machine(VSTRING& param)
{
  int ret = TFS_ERROR;
  ParamInfo ret_param(MACHINE_TYPE_ALL);
  if ((ret = parse_param(param, MACHINE_TYPE, ret_param)) != TFS_ERROR)
  {
    g_show_info.show_machine(ret_param.type_, ret_param.num_, ret_param.count_, ret_param.interval_, ret_param.filename_);
  }
  return ret;
}
Ejemplo n.º 3
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_check_block(VSTRING& param)
{
  int ret = TFS_ERROR;
  int8_t type = CMD_NOP;
  ParamInfo ret_param(type);
  if ((ret = parse_param(param, CHECK_BLOCK_TYPE, ret_param)) != TFS_ERROR)
  {
    g_show_info.check_block(ret_param.type_, ret_param.num_, ret_param.filename_);
  }
  return ret;
}
Ejemplo n.º 4
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_show_rack(VSTRING& param)
{
  int ret = TFS_ERROR;
  int8_t type = RACK_BLOCK_TYPE_RACK_LIST;//默认只显示rack 及block size
  ParamInfo ret_param(type);
  ret_param.rack_ip_mask_ = "255.255.255.240";
  if ((ret = parse_param(param, RACK_BLOCK_TYPE, ret_param)) != TFS_ERROR)
  {
    g_show_info.show_rack_block(ret_param.type_, ret_param.rack_ip_mask_, ret_param.server_ip_port_, ret_param.num_, ret_param.count_, ret_param.interval_, ret_param.filename_);
  }
  return ret;
}
Ejemplo n.º 5
0
    void StateVisualiser::operator()() {

        inputGeneralisedCoordinatesQueue_.subscribe();

        model_.setUseVisualizer(true);
        SimTK::State s(model_.initSystem());
        SimTK::Visualizer &viz = model_.updVisualizer().updSimbodyVisualizer();
        viz.setShowFrameRate(false);
        viz.setShutdownWhenDestructed(true);
        viz.setMode(SimTK::Visualizer::Mode::Sampling);
        viz.setShutdownWhenDestructed(true);
        viz.setDesiredBufferLengthInSec(5);
        viz.setDesiredFrameRate(60);
        ShowInfo* info = new ShowInfo();
        viz.addDecorationGenerator(info);
        auto start = std::chrono::system_clock::now();
        int frameCounter = 0;
        bool localRunCondition(true);
        while (localRunCondition) {

            rtosim::GeneralisedCoordinatesFrame currentCoordinatesFrame(inputGeneralisedCoordinatesQueue_.pop());
            if (rtosim::EndOfData::isEod(currentCoordinatesFrame))
                localRunCondition = false;
            else {
                rtosim::GeneralisedCoordinatesData currentCoordinates(currentCoordinatesFrame.data);
                auto q(currentCoordinates.getQ());
                for (unsigned i(0); i < currentCoordinates.getNCoordinates(); ++i)
                    s.updQ()[i] = q[i];
            }

            viz.report(s);
            frameCounter++;

            if ((std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now() - start)) > std::chrono::milliseconds(1000)) {
                info->setText("IK FPS: " + std::to_string(frameCounter));
                start = std::chrono::system_clock::now();
                frameCounter = 0;
            }
        }
    }
Ejemplo n.º 6
0
int cmd_show_server(VSTRING& param)
{
  int ret = TFS_ERROR;
  ParamInfo ret_param(SERVER_TYPE_SERVER_INFO);
  if ((ret = parse_param(param, SERVER_TYPE, ret_param)) != TFS_ERROR)
  {
    if (!g_need_cmp)
    {
      g_show_info.show_server(ret_param.type_, ret_param.num_, ret_param.server_ip_port_, ret_param.count_, ret_param.interval_, ret_param.filename_);
    }
    else
    {
      g_cmp_info.compare(SERVER_TYPE, ret_param.type_, ret_param.num_);
    }
  }
  return ret;
}
Ejemplo n.º 7
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_show_block(VSTRING& param)
{
  int ret = TFS_ERROR;
  int8_t type = CMD_NOP;
  g_need_cmp ? (type = BLOCK_CMP_ALL_INFO) : (type = BLOCK_TYPE_BLOCK_INFO);
  ParamInfo ret_param(type);
  if ((ret = parse_param(param, BLOCK_TYPE, ret_param)) != TFS_ERROR)
  {
    if (!g_need_cmp)
    {
      g_show_info.show_block(ret_param.type_, ret_param.num_, ret_param.block_id_, ret_param.count_, ret_param.interval_, ret_param.filename_);
    }
    else
    {
      g_cmp_info.compare(BLOCK_TYPE, ret_param.type_, ret_param.num_);
    }
  }
  return ret;
}
Ejemplo n.º 8
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_show_block_distribution(VSTRING& param)
{
  int ret = TFS_ERROR;
  int8_t type = CMD_NOP;
  ParamInfo ret_param(type);
  ret_param.rack_ip_mask_ = "255.255.255.240";
  if ((ret = parse_param(param, BLOCK_DISTRIBUTION_TYPE, ret_param)) != TFS_ERROR)
  {
    if(CMD_NOP == ret_param.type_)// BLOCK_IP_DISTRIBUTION_TYPE 和 BLOCK_RACK_DISTRIBUTION_TYPE至少有一个参数
    {
      print_help();
      fprintf(stderr, "\nnotice: [-ip] or [-mask ip_mask] must be chosen one ...\n");
    }
    else
    {
      g_show_info.show_block_distribution(ret_param.type_, ret_param.rack_ip_mask_, ret_param.num_, ret_param.block_id_, ret_param.count_, ret_param.interval_, ret_param.filename_);
    }
  }
  return ret;
}
Ejemplo n.º 9
0
static void sign_handler(int32_t sig)
{
  switch (sig)
  {
    case SIGINT:
      if (g_show_info.is_loop_)
      {
        g_show_info.interrupt_ = true;
        g_show_info.is_loop_ = false;
        break;
      }
    case SIGTERM:
      fprintf(stderr, "showssm tool exit.\n");
      g_show_info.clean_last_file();
      exit(TFS_ERROR);
      break;
    default:
      break;
  }
}
Ejemplo n.º 10
0
Archivo: main.cpp Proyecto: alimy/tfs
int main(int argc,char** argv)
{
  //TODO readline
  int32_t i;
  string ns_ip_port_1;
  string ns_ip_port_2;
  bool directly = false;
  while ((i = getopt(argc, argv, "s:m:ihv")) != EOF)
  {
    switch (i)
    {
      case 's':
        ns_ip_port_2 = optarg;
        break;
      case 'm':
        ns_ip_port_1 = optarg;
        g_need_cmp = true;
        break;
      case 'i':
        directly = true;
        break;
      case 'v':
        version(argv[0]);
        break;
      case 'h':
      default:
        usage(argv[0]);
    }
  }

  if (ns_ip_port_2.empty() || (g_need_cmp && ns_ip_port_1.empty()))
  {
    fprintf(stderr, "please input nameserver ip and port.\n");
    usage(argv[0]);
  }

  TBSYS_LOGGER.setLogLevel("error");

  init();

  gstreamer.set_packet_factory(&gfactory);
  NewClientManager::get_instance().initialize(&gfactory, &gstreamer);

  if (!g_need_cmp)
  {
    g_show_info.set_ns_ip(ns_ip_port_2);
  }
  else
  {
    g_cmp_info.set_ns_ip(ns_ip_port_1, ns_ip_port_2);
  }

  signal(SIGINT, sign_handler);
  signal(SIGTERM, sign_handler);
  if (optind >= argc)
  {
    main_loop();
  }
  else
  {
    if (directly) // ssm ... -i "cmd"
    {
      for (i = optind; i < argc; i++)
      {
        do_cmd(argv[i]);
      }
      g_show_info.clean_last_file();
    }
    else// exec filename
    {
      VSTRING param;
      for (i = optind; i < argc; i++)
      {
        param.clear();
        param.push_back(argv[i]);
        cmd_batch(param);
      }
    }
  }
  NewClientManager::get_instance().destroy();
}
Ejemplo n.º 11
0
Archivo: main.cpp Proyecto: alimy/tfs
int cmd_quit(VSTRING&)
{
  g_show_info.clean_last_file();
  return TFS_CLIENT_QUIT;
}