Release 2.9.0

- [API] Drop support for Q039.
- Improve ACK-queuing logic.  Send an ACK once in a while if
  peer keeps on sending non-ack-eliciting packets.
- Improve Alt-Svc string: Q050 and later are not included in
  the old-style "quic" string.
- Send stateless resets if connection could not be promoted.
- Schedule MAX_DATA if needed when DATA_BLOCKED is received.
- Use ls-qpack 0.11.2 -- needed for server push optimization.
- Code cleanup: handle some error cases, improve logging.
This commit is contained in:
Dmitri Tikhonov 2020-01-20 09:41:37 -05:00
parent 10c41073e4
commit fb96f4dd43
33 changed files with 251 additions and 194 deletions

View file

@ -24,8 +24,8 @@ extern "C" {
#endif
#define LSQUIC_MAJOR_VERSION 2
#define LSQUIC_MINOR_VERSION 8
#define LSQUIC_PATCH_VERSION 9
#define LSQUIC_MINOR_VERSION 9
#define LSQUIC_PATCH_VERSION 0
/**
* Engine flags:
@ -76,7 +76,9 @@ enum lsquic_version
* WINDOW_UPDATE frame every 20 sent packets which do not contain
* retransmittable frames.
*/
LSQVER_039,
/* Support for this version has been removed. The comment remains to
* document the changes.
*/
/*
* Q041. RST_STREAM, ACK and STREAM frames match IETF format.
@ -151,7 +153,7 @@ enum lsquic_version
};
/**
* We currently support versions 39, 43, 46, 50, and IETF Draft-23 and Draft-24
* We currently support versions 43, 46, 50, and IETF Draft-23 and Draft-24
* @see lsquic_version
*/
#define LSQUIC_SUPPORTED_VERSIONS ((1 << N_LSQVER) - 1)
@ -166,7 +168,7 @@ enum lsquic_version
#define LSQUIC_DEPRECATED_VERSIONS 0
#define LSQUIC_GQUIC_HEADER_VERSIONS ((1 << LSQVER_039) | (1 << LSQVER_043))
#define LSQUIC_GQUIC_HEADER_VERSIONS (1 << LSQVER_043)
#define LSQUIC_IETF_VERSIONS ((1 << LSQVER_ID23) | (1 << LSQVER_ID24) \
| (1 << LSQVER_VERNEG))