Skip to content

bonewell/spfservice

Repository files navigation

Build Status

spfservice

This project is Microservice of Dijkstra's Shortest Path First algorithm.

Build

$ mkdir build
$ cd build
$ conan install ..
$ cmake ..
$ cmake --build .

Run tests

$ ./bin/spfservice_unittest

Run benchmark

$ ./bin/spfservice_benchmark

Run service

$ ./bin/spfservice

Json API

Add vertex

Request

{"action": "AddVertex"}

Response

{"id": "<Number>"}

Remove vertex

Request

{"action": "RemoveVertex", "id": <Number>}

Response

{}

Note: all edges of the vertex are removing.

Add edge or update weight

Request

{"action": "AddEdge", "from": <Number>, "to": <Number>, "weight": <Number>}

Response

{}

Remove edge

Request

{"action": "RemoveEdge", "from": <Number>, "to": <Number>}

Response

{}

Get path

Request

{"action": "GetPath", "from": <Number>, "to": <Number>}

Response

{"ids": ["<Number>", ...]}

Error response

{"error": "<String>"}