int main(int argc,char** argv) { ros::init(argc,argv,"Control_Server"); ros::NodeHandle n; if(argc>2) { std::cerr<<atoi(argv[1])<<std::endl; float freq = atof(argv[1]) ; kraken_controller::ControlServer _server(freq); std::vector<std::string> _files; for(int i=2;i<argc;i++) { _files.push_back(argv[i]); } _server.loadParams(_files); actionlib::SimpleActionServer<kraken_msgs::advancedControllerAction> _ser1(n,topics::CONTROL_ADVANCEDCONTROLLER_ACTION/*ros::this_node::getName()*/,boost::bind(&kraken_controller::ControlServer::executePoseChange, &_server, _1),false); actionlib::SimpleActionServer<kraken_msgs::controllerAction> _ser2(n,topics::CONTROL_SETPOINT_ACTION/*ros::this_node::getName()*/,boost::bind(&kraken_controller::ControlServer::executeOrientationChange, &_server, _1),false); ros::ServiceServer service1 = n.advertiseService(topics::CONTROL_MOVEALONG_SERV,&kraken_controller::ControlServer::moveAlongLine,&_server); ros::ServiceServer service2 = n.advertiseService(topics::CONTROL_SWITCH_CONTROL,&kraken_controller::ControlServer::changeController,&_server); _server.setServers(&_ser1,&_ser2); ros::spin(); } else { std::cerr<<"server 'freq' 'file1' 'file2' .... " <<std::endl; } return 0; }
zpt::rest::server zpt::RESTServerPtr::setup(zpt::json _options, std::string _name) { if (_name.length() == 0){ _name = _options->obj()->begin()->first; } zpt::conf::setup(_options); zpt::rest::server _server(_name, _options); return _server; }
int main(void) { close(STDOUT_FILENO); drizzle_st drizzle; drizzle_con_st listen_con; drizzle_con_st client; drizzle_con_st server; drizzle_return_t ret; bool server_accepted = false; server_state_st server_state; client_state_st client_state; drizzle_test("drizzle_create"); if (drizzle_create(&drizzle) == NULL) { drizzle_test_error("returned NULL"); } drizzle_test("drizzle_con_add_tcp_listen"); if (drizzle_con_add_tcp_listen(&drizzle, &listen_con, DRIZZLE_TEST_HOST, DRIZZLE_TEST_PORT, 1, DRIZZLE_CON_NONE) == NULL) { drizzle_test_error("returned NULL"); } drizzle_test("drizzle_con_listen"); ret= drizzle_con_listen(&listen_con); if (ret != DRIZZLE_RETURN_OK) { drizzle_test_error("returned %s (%d)", drizzle_error(&drizzle), ret); } drizzle_test("drizzle_con_add_tcp"); if (drizzle_con_add_tcp(&drizzle, &client, DRIZZLE_TEST_HOST, DRIZZLE_TEST_PORT, NULL, NULL, NULL, DRIZZLE_CON_NONE) == NULL) { drizzle_test_error("returned NULL"); } drizzle_test("drizzle_add_options"); drizzle_add_options(&drizzle, DRIZZLE_NON_BLOCKING); server_state.state= SERVER_STATE_START; client_state.state= CLIENT_STATE_START; while (true) { if (server_accepted == false) { drizzle_test("drizzle_con_accept"); (void)drizzle_con_accept(&drizzle, &server, &ret); if (ret == DRIZZLE_RETURN_OK) { server_accepted = true; } else if (ret == DRIZZLE_RETURN_COULD_NOT_CONNECT || ret == DRIZZLE_RETURN_NO_ACTIVE_CONNECTIONS) { break; } else if (ret != DRIZZLE_RETURN_IO_WAIT) { drizzle_test_error("returned %s (%s)", drizzle_error(&drizzle), drizzle_strerror(ret)); } } if (server_accepted) { _server(&server, &server_state); } _client(&client, &client_state); if (server_state.state == SERVER_STATE_DONE && client_state.state == CLIENT_STATE_DONE) { break; } drizzle_test("drizzle_con_wait"); ret= drizzle_con_wait(&drizzle); if (ret == DRIZZLE_RETURN_COULD_NOT_CONNECT || ret == DRIZZLE_RETURN_NO_ACTIVE_CONNECTIONS) { break; } else if (ret != DRIZZLE_RETURN_OK) { drizzle_test_error("returned %s (%d)", drizzle_error(&drizzle), ret); } } if (server_accepted) { drizzle_test("drizzle_con_free"); drizzle_con_free(&server); } drizzle_test("drizzle_con_free"); drizzle_con_free(&client); drizzle_test("drizzle_con_free"); drizzle_con_free(&listen_con); drizzle_test("drizzle_free"); drizzle_free(&drizzle); return 0; }