An API library that implements publish/subscribe protocol draft-ietf-moq-transport-04. The API supports both client and server. Server is intended to be implemented as a relay.
Use make
to build libquicr.
Use make test
to run tests.
Use make cclean
to clean build files.
To build without InfluxDB, run cmake
with -DLIBQUICR_WITHOUT_INFLUXDB=ON
Server requires a TLS certificate and key file. For development and testing, use a self-signed certificate. Below are the steps to create a self-signed certificate and private ey.
cd build/cmd/moq-example
openssl req -nodes -x509 -newkey rsa:2048 -days 365 \
-subj "/C=US/ST=CA/L=San Jose/O=Cisco/CN=test.m10x.org" \
-keyout server-key.pem -out server-cert.pem
openssl req -nodes -x509 -newkey ec:<(openssl ecparam -name prime256v1) -days 365 \
-subj "/C=US/ST=CA/L=San Jose/O=Cisco/CN=test.m10x.org" \
-keyout server-key.pem -out server-cert.pem
openssl ecparam -name prime256v1 -genkey -noout -out server-key-ec.pem
openssl req -nodes -x509 -key server-key-ec.pem -days 365 \
-subj "/C=US/ST=CA/L=San Jose/O=Cisco/CN=test.m10x.org" \
-keyout server-key.pem -out server-cert.pem