Exemple #1
0
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;
}
Exemple #2
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;
}
Exemple #3
0
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;
}