https://github.com/cd-athena/dofp
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: cd-athena
- License: mit
- Language: C
- Default Branch: master
- Size: 4.54 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
LiteSpeed QUIC (LSQUIC) Library README
Description
LiteSpeed QUIC (LSQUIC) Library is an open-source implementation of QUIC and HTTP/3 functionality for servers and clients. Most of the code in this distribution is used in our own products: LiteSpeed Web Server, LiteSpeed ADC, and OpenLiteSpeed.
Currently supported QUIC versions are v1, Internet-Draft versions 29, and 27; and the older "Google" QUIC versions Q043, Q046, an Q050.
Documentation
Documentation is available at https://lsquic.readthedocs.io/en/latest/.
In addition, see example programs for API usage and EXAMPLES.txt for some compilation and run-time options.
Requirements
To build LSQUIC, you need CMake, zlib, and BoringSSL. The example program uses libevent to provide the event loop.
Building BoringSSL
BoringSSL is not packaged; you have to build it yourself. The process is
straightforward. You will need go installed.
- Clone BoringSSL by issuing the following command:
git clone https://boringssl.googlesource.com/boringssl
cd boringssl
You may need to install pre-requisites like zlib and libevent.
- Use specific BoringSSL version
git checkout a2278d4d2cabe73f6663e3299ea7808edfa306b9
- Compile the library
cmake . && make
Remember where BoringSSL sources are:
BORINGSSL=$PWD
If you want to turn on optimizations, do
cmake -DCMAKE_BUILD_TYPE=Release . && make
If you want to build as a library, (necessary to build lsquic itself as as shared library) do:
cmake -DBUILD_SHARED_LIBS=1 . && make
Building LSQUIC Library
LSQUIC's http_client, http_server, and the tests link BoringSSL
libraries statically. Following previous section, you can build LSQUIC
as follows:
- Get the source code
git clone https://github.com/litespeedtech/lsquic.git
cd lsquic
git submodule init
git submodule update
- Compile the library
Statically:
```
$BORINGSSL is the top-level BoringSSL directory from the previous step
cmake -DBORINGSSL_DIR=$BORINGSSL . make ```
As a dynamic library:
cmake -DLSQUIC_SHARED_LIB=1 -DBORINGSSL_DIR=$BORINGSSL .
make
- Run tests
make test
Building with Docker
The library and the example client and server can be built with Docker.
Initialize Git submodules:
cd lsquic
git submodule init
git submodule update
Build the Docker image:
docker build -t lsquic .
Then you can use the examples from the command line. For example:
sudo docker run -it --rm lsquic http_client -s www.google.com -p / -o version=h3-29
sudo docker run -p 12345:12345/udp -v /path/to/certs:/mnt/certs -it --rm lsquic http_server -c www.example.com,/mnt/certs/chain,/mnt/certs/key
Platforms
The library has been tested on the following platforms: - Linux - i386 - x8664 - ARM (Raspberry Pi 3) - FreeBSD - i386 - MacOS - x8664 - Android - ARM - Windows - x86_64
Get Involved
Do not hesitate to report bugs back to us. Even better, send us fixes and improvements!
Have fun,
LiteSpeed QUIC Team.
Copyright (c) 2017 - 2021 LiteSpeed Technologies Inc
Owner
- Name: ATHENA Christian Doppler (CD) Laboratory
- Login: cd-athena
- Kind: organization
- Location: Klagenfurt, Austria
- Website: https://athena.itec.aau.at
- Repositories: 26
- Profile: https://github.com/cd-athena
Adaptive Streaming over HTTP and Emerging Networked Multimedia Services
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1