No description
Find a file
Andrew Zhao c965e0a380 Implement engine_process_connections timer
The previous code did not have an implementation to set timers for processing
connections. This leads to an occasional deadlock where process_connections
must be called to continue. This change implements this timer modelled after
the lsquic reference implementation.

Reference: https://github.com/litespeedtech/lsquic/blob/master/bin/prog.c#L535
2021-02-10 00:13:36 -05:00
spec Add specs 2019-11-27 11:53:45 -06:00
src Implement engine_process_connections timer 2021-02-10 00:13:36 -05:00
.editorconfig Initial commit 2019-11-12 20:15:43 -05:00
.gitignore Initial commit 2019-11-12 20:15:43 -05:00
.travis.yml Initial commit 2019-11-12 20:15:43 -05:00
LICENSE Add license 2019-11-15 21:22:36 -05:00
LICENSE.boringssl Add licenses and update README 2019-11-16 14:15:26 -05:00
LICENSE.chrome Add licenses and update README 2019-11-16 14:15:26 -05:00
LICENSE.lsquic Add licenses and update README 2019-11-16 14:15:26 -05:00
README.md Update org to iv-org 2020-10-04 13:30:32 +02:00
shard.yml Update to latest version of lsquic 2020-07-19 11:42:57 -04:00

lsquic

Crystal bindings to the excellent LSQUIC library.

Releases track lsquic's versioning starting with v2.18.1.

liblsquic.a is licensed under LICENSE.lsquic and LICENSE.chrome.

Lsquic uses boringssl, which is licensed under LICENSE.boringssl.

This library is available under the MIT license.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      lsquic:
        github: iv-org/lsquic.cr
    
  2. Run shards install

Usage

require "lsquic"

client = QUIC::Client.new("www.youtube.com")
client.get("/") # => #<HTTP::Client::Response>

client.get("/", headers: HTTP::Headers{
  "cookie" => "Some value",
  # ...
}) # => #<HTTP::Client::Response>

Contributing

  1. Fork it (https://github.com/iv-org/lsquic.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors