https://github.com/ericsson/tpaf
A footprint-optimized Pathfinder server
https://github.com/ericsson/tpaf
Last synced: 8 months ago
JSON representation
A footprint-optimized Pathfinder server
- Host: GitHub
- URL: https://github.com/ericsson/tpaf
- Owner: Ericsson
- License: bsd-3-clause
- Created: 2023-08-14T13:05:19.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T18:49:38.000Z (over 1 year ago)
- Last Synced: 2025-05-07T18:16:31.996Z (8 months ago)
- Language: C
- Homepage:
- Size: 110 KB
- Stars: 0
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tpafd
## Introduction
Pathfinder is a light-weight service discovery system for embedded or
cloud use.
This repository contains `tpafd`, a footprint-optimized server-side
implementation of the [Pathfinder
protocol](https://github.com/Ericsson/paf/blob/master/doc/protocol/PROTOCOLv2.md)
version 2.
## Dependencies
tpafd is implemented in C, and is designed to have very few
dependencies.
* libjansson
* libxcm
* Automake
* libevent
## Installation
To build and install tpafd, run:
```
autoreconf -i && ./configure && make install
```
## Test Suites
The tpaf repository includes unit tests. To run these tests, issue:
```
make check
```
To run the test suites in valgrind, supply ``--enable-valgrind`` to
the configure script.
The unit tests have a limited scope, and primarily target low-level
data structures and other things that lends themselves to unit
testing.
To address domain logic correctness, tpafd relies on the test suite
found in the Python-based [Pathfinder
server](https://github.com/Ericsson/paf/) and
the [libpaf client library](https://github.com/Ericsson/libpaf/).
To run the server-level tests, check out and change the current
working directory to the `paf` repository, and run:
``
make check TESTOPTS="--server tpaf"
``
## Documentation
The [Pathfinder application protocol
specification](https://github.com/Ericsson/paf/blob/master/doc/protocol/PROTOCOLv2.md),
in particular the data model section, includes a lot of useful
information on how a Pathfinder service discovery system works.
### Manual pages
* [tpafd](https://ericsson.github.io/tpaf/man/tpafd.8.html)