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; }
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; }
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; }
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; }
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; } } }
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; }
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; }
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; }
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; } }
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(); }
int cmd_quit(VSTRING&) { g_show_info.clean_last_file(); return TFS_CLIENT_QUIT; }