Skip to content

Commit

Permalink
Merge pull request #389 from Tencent/release/v1.2.0
Browse files Browse the repository at this point in the history
Release/v1.2.0
  • Loading branch information
iyangsj authored Sep 26, 2024
2 parents 58bd7b0 + add6f8c commit 50ed3c5
Show file tree
Hide file tree
Showing 16 changed files with 478 additions and 17 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [v1.2.0] - 2024-09-26

### Added
- Improve acknowledgement strategy
- Optimize pacing for small packets
- Add quic_tls_config_set_session_timeout() and change default session timeout
- Add config API for copa algorithm
- Add FFI set_anti_amplification_factor
- Add a tool for analyzing TQUIC debug logs and produce a time-offset figure


## [v1.1.0] - 2024-08-20

### Added
Expand Down Expand Up @@ -299,6 +310,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Provide example clients and servers.


[v1.2.0]: https://github.com/tencent/tquic/compare/v1.1.0...v1.2.0
[v1.1.0]: https://github.com/tencent/tquic/compare/v1.0.0...v1.1.0
[v1.0.0]: https://github.com/tencent/tquic/compare/v0.15.0...v1.0.0
[v0.15.0]: https://github.com/tencent/tquic/compare/v0.14.0...v0.15.0
[v0.14.0]: https://github.com/tencent/tquic/compare/v0.13.0...v0.14.0
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tquic"
version = "1.1.0"
version = "1.2.0"
edition = "2021"
rust-version = "1.70.0"
license = "Apache-2.0"
Expand Down
28 changes: 28 additions & 0 deletions include/tquic.h
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,21 @@ void quic_config_set_bbr_rtprop_filter_len(struct quic_config_t *config, uint64_
*/
void quic_config_set_bbr_probe_bw_cwnd_gain(struct quic_config_t *config, double v);

/**
* Set the delta in copa slow start state.
*/
void quic_config_set_copa_slow_start_delta(struct quic_config_t *config, double v);

/**
* Set the delta in coap steady state.
*/
void quic_config_set_copa_steady_delta(struct quic_config_t *config, double v);

/**
* Enable Using the rtt standing instead of the latest rtt to calculate queueing delay.
*/
void quic_config_enable_copa_use_standing_rtt(struct quic_config_t *config, bool v);

/**
* Set the initial RTT in milliseconds. The default value is 333ms.
* The configuration should be changed with caution. Setting a value less than the default
Expand Down Expand Up @@ -711,6 +726,14 @@ void quic_config_enable_stateless_reset(struct quic_config_t *config, bool enabl
*/
void quic_config_set_cid_len(struct quic_config_t *config, uint8_t v);

/**
* Set the anti-amplification factor.
*
* The server limits the data sent to an unvalidated address to
* `anti_amplification_factor` times the received data.
*/
void quic_config_set_anti_amplification_factor(struct quic_config_t *config, uint8_t v);

/**
* Set the batch size for sending packets.
* Applicable to Endpoint only.
Expand Down Expand Up @@ -776,6 +799,11 @@ void quic_tls_config_free(struct quic_tls_config_t *tls_config);
*/
void quic_tls_config_set_early_data_enabled(struct quic_tls_config_t *tls_config, bool enable);

/**
* Set the session lifetime in seconds
*/
void quic_tls_config_set_session_timeout(struct quic_tls_config_t *tls_config, uint32_t timeout);

/**
* Set the list of supported application protocols.
* The `protos` is a pointer that points to an array, where each element of the array is a string
Expand Down
1 change: 1 addition & 0 deletions src/congestion_control/congestion_control.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ pub use bbr3::Bbr3;
pub use bbr3::Bbr3Config;
pub use copa::Copa;
pub use copa::CopaConfig;
pub use copa::COPA_DELTA;
pub use cubic::Cubic;
pub use cubic::CubicConfig;
pub use dummy::Dummy;
Expand Down
8 changes: 4 additions & 4 deletions src/congestion_control/copa.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ use crate::connection::space::SentPacket;
use crate::RecoveryConfig;

/// Delta: determines how much to weigh delay compared to throughput.
const COPA_DELTA: f64 = 0.04;
pub const COPA_DELTA: f64 = 0.04;

/// Max count while cwnd grows with the same direction. Speed up if
/// the count exceeds threshold.
Expand Down Expand Up @@ -100,9 +100,9 @@ impl CopaConfig {
initial_cwnd,
initial_rtt,
max_datagram_size,
slow_start_delta: COPA_DELTA,
steady_delta: COPA_DELTA,
use_standing_rtt: true,
slow_start_delta: conf.copa_slow_start_delta,
steady_delta: conf.copa_steady_delta,
use_standing_rtt: conf.copa_use_standing_rtt,
}
}
}
Expand Down
Loading

0 comments on commit 50ed3c5

Please sign in to comment.