Skip to content

Commit 50ed3c5

Browse files
authored
Merge pull request #389 from Tencent/release/v1.2.0
Release/v1.2.0
2 parents 58bd7b0 + add6f8c commit 50ed3c5

16 files changed

+478
-17
lines changed

CHANGELOG.md

+13
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1111
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1212

1313

14+
## [v1.2.0] - 2024-09-26
15+
16+
### Added
17+
- Improve acknowledgement strategy
18+
- Optimize pacing for small packets
19+
- Add quic_tls_config_set_session_timeout() and change default session timeout
20+
- Add config API for copa algorithm
21+
- Add FFI set_anti_amplification_factor
22+
- Add a tool for analyzing TQUIC debug logs and produce a time-offset figure
23+
24+
1425
## [v1.1.0] - 2024-08-20
1526

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

301312

313+
[v1.2.0]: https://github.com/tencent/tquic/compare/v1.1.0...v1.2.0
314+
[v1.1.0]: https://github.com/tencent/tquic/compare/v1.0.0...v1.1.0
302315
[v1.0.0]: https://github.com/tencent/tquic/compare/v0.15.0...v1.0.0
303316
[v0.15.0]: https://github.com/tencent/tquic/compare/v0.14.0...v0.15.0
304317
[v0.14.0]: https://github.com/tencent/tquic/compare/v0.13.0...v0.14.0

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "tquic"
3-
version = "1.1.0"
3+
version = "1.2.0"
44
edition = "2021"
55
rust-version = "1.70.0"
66
license = "Apache-2.0"

include/tquic.h

+28
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,21 @@ void quic_config_set_bbr_rtprop_filter_len(struct quic_config_t *config, uint64_
597597
*/
598598
void quic_config_set_bbr_probe_bw_cwnd_gain(struct quic_config_t *config, double v);
599599

600+
/**
601+
* Set the delta in copa slow start state.
602+
*/
603+
void quic_config_set_copa_slow_start_delta(struct quic_config_t *config, double v);
604+
605+
/**
606+
* Set the delta in coap steady state.
607+
*/
608+
void quic_config_set_copa_steady_delta(struct quic_config_t *config, double v);
609+
610+
/**
611+
* Enable Using the rtt standing instead of the latest rtt to calculate queueing delay.
612+
*/
613+
void quic_config_enable_copa_use_standing_rtt(struct quic_config_t *config, bool v);
614+
600615
/**
601616
* Set the initial RTT in milliseconds. The default value is 333ms.
602617
* The configuration should be changed with caution. Setting a value less than the default
@@ -711,6 +726,14 @@ void quic_config_enable_stateless_reset(struct quic_config_t *config, bool enabl
711726
*/
712727
void quic_config_set_cid_len(struct quic_config_t *config, uint8_t v);
713728

729+
/**
730+
* Set the anti-amplification factor.
731+
*
732+
* The server limits the data sent to an unvalidated address to
733+
* `anti_amplification_factor` times the received data.
734+
*/
735+
void quic_config_set_anti_amplification_factor(struct quic_config_t *config, uint8_t v);
736+
714737
/**
715738
* Set the batch size for sending packets.
716739
* Applicable to Endpoint only.
@@ -776,6 +799,11 @@ void quic_tls_config_free(struct quic_tls_config_t *tls_config);
776799
*/
777800
void quic_tls_config_set_early_data_enabled(struct quic_tls_config_t *tls_config, bool enable);
778801

802+
/**
803+
* Set the session lifetime in seconds
804+
*/
805+
void quic_tls_config_set_session_timeout(struct quic_tls_config_t *tls_config, uint32_t timeout);
806+
779807
/**
780808
* Set the list of supported application protocols.
781809
* The `protos` is a pointer that points to an array, where each element of the array is a string

src/congestion_control/congestion_control.rs

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ pub use bbr3::Bbr3;
3030
pub use bbr3::Bbr3Config;
3131
pub use copa::Copa;
3232
pub use copa::CopaConfig;
33+
pub use copa::COPA_DELTA;
3334
pub use cubic::Cubic;
3435
pub use cubic::CubicConfig;
3536
pub use dummy::Dummy;

src/congestion_control/copa.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use crate::connection::space::SentPacket;
3636
use crate::RecoveryConfig;
3737

3838
/// Delta: determines how much to weigh delay compared to throughput.
39-
const COPA_DELTA: f64 = 0.04;
39+
pub const COPA_DELTA: f64 = 0.04;
4040

4141
/// Max count while cwnd grows with the same direction. Speed up if
4242
/// the count exceeds threshold.
@@ -100,9 +100,9 @@ impl CopaConfig {
100100
initial_cwnd,
101101
initial_rtt,
102102
max_datagram_size,
103-
slow_start_delta: COPA_DELTA,
104-
steady_delta: COPA_DELTA,
105-
use_standing_rtt: true,
103+
slow_start_delta: conf.copa_slow_start_delta,
104+
steady_delta: conf.copa_steady_delta,
105+
use_standing_rtt: conf.copa_use_standing_rtt,
106106
}
107107
}
108108
}

0 commit comments

Comments
 (0)