#
a74702c6 |
|
06-May-2022 |
George Wang <gwang@litespeedtech.com> |
Release 3.1.0 |
#
06b2a236 |
|
06-Jan-2021 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 2.27.1 - [API] New knob to set outgoing packet batch size. - Aborted connection now become tickable immediately. - Abort connection when HTTP/3 frame cannot be opened (can only happen when malloc fails). |
#
2f2f4363 |
|
08-Sep-2020 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 2.19.9 - [FEATURE] Add lsquic_stream_pwritev(). This function allows one to reduce the number of system calls required to read a file from disk by using lsquic_stream_pwritev() together with preadv(2). - [BUGFIX] When stream is reset, it is writeable -- let user collect the error. - [BUGFIX] Calculate correct conn flow control if reading ends early. - [BUGFIX] Remove stream from read and write queues on internal shutdown. This is a regression introduced in 2.19.7. - [BUGFIX] Swapped arguments in IETF RESET_FRAME generation. - Turn off mini conn history when compiling with Visual Studio; this allows the project to compile on Windows again. - http_client: Add -3 flag to stop reading from streams early; code cleanup. - Don't use -Werror. |
#
a5fa05f9 |
|
12-Mar-2020 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 2.13.0 - [API] Use lsxpack_header structure to process incoming headers. - [BUGFIX] Fix assertion when zero-padding Initial packet. - [BUGFIX] Use idle timeout before we learn of peer's value. - Use ls-hpack 2.0.0 -- has lsxpack_header changes. - Use ls-qpack 0.14.0 -- new, common with ls-hpack, XXH seed (not used yet). - Code cleanup: prefix exported functions with "lsquic_". |
#
7d09751d |
|
10-Jan-2020 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 2.8.7 - [BUGFIX] Initial packet size check for IETF mini conn applies to UDP payload, not QUIC packet. - Support old and new school loss_bits transport parameter. - Use Q run length of 64 as suggested in the loss bits Draft. - Undo square wave count when packet is delayed. - Code cleanup; minor fixes. |
#
5392f7a3 |
|
11-Sep-2019 |
LiteSpeed Tech <info@litespeedtech.com> |
Release 2.2.0: server included, ID-22 supported (#76) |
#
c7d81ce1 |
|
01-Apr-2019 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 1.20.0 [FEATURE] Add support for Q046. |
#
229fce07 |
|
04-Jan-2019 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Release 1.17.11 Fix strict aliasing warning in when compiling with optimizations |
#
9626cfc2 |
|
16-Aug-2018 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
1.11.0: [FEATURE] Add support for Q044 |
#
10c492f0 |
|
03-Apr-2018 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Update copyright year; add CONTRIBUTORS.txt |
#
5d77f141 |
|
13-Mar-2018 |
Amol Deshpande <amol.deshpande@outlook.com> |
updated to upstream ran all tests again.
|
#
461e84d8 |
|
13-Mar-2018 |
Amol Deshpande <amol.deshpande@outlook.com> |
compiles in debug/release. tests pass (in debug config at least) |
#
16a9b66a |
|
10-Mar-2018 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Latest changes - [OPTIMIZATION] Merge series of ACKs if possible Parsed single-range ACK frames (that is the majority of frames) are saved in the connection and their processing is deferred until the connection is ticked. If several ACKs come in a series between adjacent ticks, we check whether the latest ACK is a strict superset of the saved ACK. If it is, the older ACK is not processed. If ACK frames can be merged, they are merged and only one of them is either processed or saved. - [OPTIMIZATION] Speed up ACK verification by simplifying send history. Never generate a gap in the sent packet number sequence. This reduces the send history to a single number instead of potentially a series of packet ranges and thereby speeds up ACK verification. By default, detecting a gap in the send history is not fatal: only a single warning is generated per connection. The connection can continue to operate even if the ACK verification code is not able to detect some inconsistencies. - [OPTIMIZATION] Rearrange the lsquic_send_ctl struct The first part of struct lsquic_send_ctl now consists of members that are used in lsquic_send_ctl_got_ack() (in the absense of packet loss, which is the normal case). To speed up reads and writes, we no longer try to save space by using 8- and 16-bit integers. Use regular integer width for everything. - [OPTIMIZATION] Cache size of sent packet. - [OPTIMIZATION] Keep track of the largest ACKed in packet_out Instead of parsing our own ACK frames when packet has been acked, use the value saved in the packet_out structure when the ACK frame was generated. - [OPTIMIZATION] Take RTT sampling conditional out of ACK loop - [OPTIMIZATION] ACK processing: only call clock_gettime() if needed - [OPTIMIZATION] Several code-level optimizations to ACK processing. - Fix: http_client: fix -I flag; switch assert() to abort() |
#
bfc7bfd8 |
|
27-Feb-2018 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Latest changes - [API Change] lsquic_engine_connect() returns pointer to the connection object. - [API Change] Add lsquic_conn_get_engine() to get engine object from connection object. - [API Change] Add lsquic_conn_status() to query connection status. - [API Change] Add add lsquic_conn_set_ctx(). - [API Change] Add new timestamp format, e.g. 2017-03-21 13:43:46.671345 - [OPTIMIZATION] Process handshake STREAM frames as soon as packet arrives. - [OPTIMIZATION] Do not compile expensive send controller sanity check by default. - [OPTIMIZATION] Add fast path to gquic_be_gen_reg_pkt_header. - [OPTIMIZATION] Only make squeeze function call if necessary. - [OPTIMIZATION] Speed up Q039 ACK frame parsing. - [OPTIMIZATION] Fit most used elements of packet_out into first 64 bytes. - [OPTIMIZATION] Keep track of scheduled bytes instead of calculating. - [OPTIMIZATION] Prefetch next unacked packet when processing ACK. - [OPTIMIZATION] Leverage fact that ACK ranges and unacked list are. ordered. - [OPTIMIZATION] Reduce function pointer use for STREAM frame generation - Fix: reset incoming streams that arrive after we send GOAWAY. - Fix: delay client on_new_conn() call until connection is fully set up. - Fixes to buffered packets logic: splitting, STREAM frame elision. - Fix: do not dispatch on_write callback if no packets are available. - Fix WINDOW_UPDATE send and resend logic. - Fix STREAM frame extension code. - Fix: Drop unflushed data when stream is reset. - Switch to tracking CWND using bytes rather than packets. - Fix TCP friendly adjustment in cubic. - Fix: do not generate invalid STOP_WAITING frames during high packet loss. - Pacer fixes. |
#
e0197994 |
|
26-Sep-2017 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
Latest changes - Add support for Mac OS - Add support for Raspberry Pi - Fix BoringSSL compilation: include <openssl/hmac.h> explicitly |
#
50aadb33 |
|
23-Sep-2017 |
Dmitri Tikhonov <dtikhonov@litespeedtech.com> |
LSQUIC Client: Initial release |