README.md revision 50aadb33
150aadb33SDmitri TikhonovLiteSpeed QUIC (LSQUIC) Client Library README
250aadb33SDmitri Tikhonov=============================================
350aadb33SDmitri Tikhonov
450aadb33SDmitri TikhonovDescription
550aadb33SDmitri Tikhonov-----------
650aadb33SDmitri Tikhonov
750aadb33SDmitri TikhonovLiteSpeed QUIC (LSQUIC) Client Library is an open-source implementation
850aadb33SDmitri Tikhonovof QUIC functionality for clients.  It is released in the hope to speed
950aadb33SDmitri Tikhonovthe adoption of QUIC.  Most of the code in this distribution is used in
1050aadb33SDmitri Tikhonovour own products: LiteSpeed Web Server and ADC.  We think it is free of
1150aadb33SDmitri Tikhonovmajor problems.  Nevertheless, do not hesitate to report bugs back to us.
1250aadb33SDmitri TikhonovEven better, send us fixes and improvements!
1350aadb33SDmitri Tikhonov
1450aadb33SDmitri TikhonovCurrently supported QUIC versions are Q035, Q037, Q038, Q039, and Q040.
1550aadb33SDmitri TikhonovSupport for newer versions will be added soon after they are released.
1650aadb33SDmitri TikhonovThe version(s) specified by IETF QUIC WG will be added once the IETF
1750aadb33SDmitri Tikhonovversion of the protocol settles down a little.
1850aadb33SDmitri Tikhonov
1950aadb33SDmitri TikhonovDocumentation
2050aadb33SDmitri Tikhonov-------------
2150aadb33SDmitri Tikhonov
2250aadb33SDmitri TikhonovThe documentation for this module is admittedly sparse.  The API is
2350aadb33SDmitri Tikhonovdocumented in include/lsquic.h.  If you have doxygen, you can run
2450aadb33SDmitri Tikhonov`doxygen dox.cfg' or `make docs'.  The example program is
2550aadb33SDmitri Tikhonovtest/http_client.c: a bare-bones, but working, QUIC client.  Have a look
2650aadb33SDmitri Tikhonovin EXAMPLES.txt to see how it can be used.
2750aadb33SDmitri Tikhonov
2850aadb33SDmitri TikhonovBuilding
2950aadb33SDmitri Tikhonov--------
3050aadb33SDmitri Tikhonov
3150aadb33SDmitri TikhonovTo build LSQUIC, you need CMake and BoringSSL.  The example program
3250aadb33SDmitri Tikhonovuses libevent to provide the event loop.  In short:
3350aadb33SDmitri Tikhonov
3450aadb33SDmitri Tikhonov  cmake -DBORINGSSL_INCLUDE=/some/dir -DBORINGSSL_LIB=/some/other/dir .
3550aadb33SDmitri Tikhonov
3650aadb33SDmitri TikhonovHave fun,
3750aadb33SDmitri Tikhonov
3850aadb33SDmitri TikhonovLiteSpeed QUIC Team.
3950aadb33SDmitri Tikhonov
4050aadb33SDmitri TikhonovCopyright (c) 2017 LiteSpeed Technologies Inc
41