Buran Motion Planning Framework
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
PathFindingServer Class Referenceabstract

Базовый класс для всех серверов планирования для использования необходимо переопределить в потомке createPathFinder() More...

#include <path_finding_server.h>

Inheritance diagram for PathFindingServer:
Inheritance graph
[legend]
Collaboration diagram for PathFindingServer:
Collaboration graph
[legend]

Public Member Functions

void processCommand (int clientSocket, int command, Json::Value jsonData) override
 
void onSocketConnected (int clientSocket) override
 
virtual std::shared_ptr< bmpf::PathFindercreatePathFinder (int clientSocket)=0
 
- Public Member Functions inherited from BaseServer
void mainLoop ()
 
virtual void init (int port, int maxClients, int delay)
 
void processRequests (int clientSocket)
 
void stop ()
 
int acceptNewSocket ()
 
int getServerFd () const
 
const sockaddr_in & getAddress () const
 

Static Public Member Functions

static void startFindPath (PathFindingServer *pfs, std::shared_ptr< bmpf::PathFinder > pf, int clientSocket, std::vector< double > start, std::vector< double > end)
 
- Static Public Member Functions inherited from BaseServer
static void initLinuxServerSocket ()
 

Static Public Attributes

static const int COMMAND_IS_READY = 0
 
static const int COMMAND_START_FIND_PATH = 1
 
static const int COMMAND_FIND_PATH_RESULT = 2
 

Protected Attributes

std::unordered_map< int, std::vector< std::vector< double > > > paths
 
std::unordered_map< int, bool > pathFindingReady
 
std::unordered_map< int, std::shared_ptr< bmpf::PathFinder > > pfs
 
- Protected Attributes inherited from BaseServer
sem_t _sem
 

Detailed Description

Базовый класс для всех серверов планирования для использования необходимо переопределить в потомке createPathFinder()

Member Function Documentation

◆ createPathFinder()

virtual std::shared_ptr<bmpf::PathFinder> PathFindingServer::createPathFinder ( int  clientSocket)
pure virtual

Создать новый планировщик

Parameters
clientSocketfd клиента
Returns
новый планировщик

Implemented in ContinuousPFServer, and MultiRobotPFServer.

◆ onSocketConnected()

void PathFindingServer::onSocketConnected ( int  clientSocket)
overridevirtual

Обработка подключения нового клиента

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ processCommand()

void PathFindingServer::processCommand ( int  clientSocket,
int  command,
Json::Value  jsonData 
)
overridevirtual

Обработка запроса клиента

Parameters
clientSocketfd клиента
commandкод команды
jsonDataданные команды

Обработка запроса клиента

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ startFindPath()

void PathFindingServer::startFindPath ( PathFindingServer pfs,
std::shared_ptr< bmpf::PathFinder pf,
int  clientSocket,
std::vector< double >  start,
std::vector< double >  end 
)
static

Начать планирование

Parameters
pfsсервер планирования
pfпланировщик пути
clientSocketfd клиента
startстартовое состояние
endконечное состояние

Member Data Documentation

◆ COMMAND_FIND_PATH_RESULT

const int PathFindingServer::COMMAND_FIND_PATH_RESULT = 2
static

Запрос результата

◆ COMMAND_IS_READY

const int PathFindingServer::COMMAND_IS_READY = 0
static

Проверка, готов ли планировщик

◆ COMMAND_START_FIND_PATH

const int PathFindingServer::COMMAND_START_FIND_PATH = 1
static

Запуск планирования

◆ pathFindingReady

std::unordered_map<int, bool> PathFindingServer::pathFindingReady
protected

Словарь флагов, готов ли планировщик для каждого fd сокета клиента

◆ paths

std::unordered_map<int, std::vector<std::vector<double> > > PathFindingServer::paths
protected

Словарь путей для каждого fd сокета клиента

◆ pfs

std::unordered_map<int, std::shared_ptr<bmpf::PathFinder> > PathFindingServer::pfs
protected

Словарь планировщиков для каждого fd сокета клиента


The documentation for this class was generated from the following files: