https://github.com/ericsson/libpaf
Pathfinder service discovery client library
https://github.com/ericsson/libpaf
service-discovery
Last synced: 3 months ago
JSON representation
Pathfinder service discovery client library
- Host: GitHub
- URL: https://github.com/ericsson/libpaf
- Owner: Ericsson
- License: bsd-3-clause
- Created: 2020-06-22T08:55:09.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-17T09:55:26.000Z (about 1 year ago)
- Last Synced: 2025-05-07T18:16:04.253Z (8 months ago)
- Topics: service-discovery
- Language: C
- Homepage:
- Size: 555 KB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pathfinder Client Library
Pathfinder is a light-weight service discovery system.
The Pathfinder Client Library `libpaf` is a C library used to access
one or more Pathfinder service discovery domains, either as a service
provider or consumer. The library is an implementation of the
Pathfinder Protocol
[version 2](https://github.com/Ericsson/paf/blob/master/doc/protocol/PROTOCOLv2.md)
and
[version 3](https://github.com/Ericsson/paf/blob/master/doc/protocol/PROTOCOLv3.md).
For more detailed information, see the [Pathfinder
server](https://github.com/Ericsson/paf/blob/master/README.md).
## Installation
The Pathfinder Client Library is implemented in C.
Dependencies:
* libjansson
* libxcm 1.5.0 or later (i.e., API version 0.20 or higher)
* Automake
Additionally, the 'lpafc' command-line tool depend on:
* GNU readline
To build and install libpaf, run:
```
autoreconf -i && ./configure && make install
```
## Test Suites
The libpaf source tree hosts unit and component-level tests for the
library. The component-level test suite is an integration test,
running against a real Pathfinder server.
The component-level tests will look for a `pafd` binary in the
PATH. In addition, the 'paf' Python module needs to be included in the
PYTHONPATH.
If available, valgrind will be used when running the test suites.
Both types of tests use the 'utest' test framework, included in the
source tree.
To run the tests, issue:
```
make check
```
In case the `tpafd` (or any other) server is to be used by integration
tests, use:
```
PAFD=tpafd make check
```
For the test suite to cover functionality related to network
namespaces, the CAP_SYS_ADMIN capability is required.
## Documentation
API documentation in Doxygen format is available in paf.h. `make
doxygen` will create HTML version. If the `pdflatex` tool is
installed, a PDF version will also be produced.
An online copy of this API version's documentation can be found here:
https://ericsson.github.io/libpaf/api/0.1/