diff options
author | Andreas Schultz <[email protected]> | 2016-01-07 11:22:47 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2016-06-13 22:24:13 +0200 |
commit | 8ee98df1212cf4184c5d990e8f010f52a03cd728 (patch) | |
tree | c6b0e8c4703515116e5c62810c579fb8d0ed6fbf /lib/ssl/src/ssl_connection.hrl | |
parent | 2cf56c57661c5356a4e19e272e69177224f153a3 (diff) | |
download | otp-8ee98df1212cf4184c5d990e8f010f52a03cd728.tar.gz otp-8ee98df1212cf4184c5d990e8f010f52a03cd728.tar.bz2 otp-8ee98df1212cf4184c5d990e8f010f52a03cd728.zip |
ssl: introduce the notion of flights for dtls and tls
The flight concept was introduced by DTLS (RFC 4347) to optimize
the packing of DTLS records into UDP packets. This change
implments the flight concept in the the generic SSL connection
logic and add the queue logic to the TLS and DTLS stack.
The DTLS required resend handling is not implemented yet.
While the flight handling is only required for DTSL, it turns
out that the same mechanism can be usefull to TCP based TLS as
well.
With the current scheme each TLS record will be mapped into a
separate TCP frame. This causes more TCP frames to be generate
that necessary. On fast network this will have no impact, but
reducing the number of frames and thereby the number of
round trips can result in significant speedups on slow and
unreliable networks.
Conflicts:
lib/ssl/src/tls_connection.erl
Diffstat (limited to 'lib/ssl/src/ssl_connection.hrl')
-rw-r--r-- | lib/ssl/src/ssl_connection.hrl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/ssl/src/ssl_connection.hrl b/lib/ssl/src/ssl_connection.hrl index 7682cb86ea..4b54943ddf 100644 --- a/lib/ssl/src/ssl_connection.hrl +++ b/lib/ssl/src/ssl_connection.hrl @@ -84,7 +84,12 @@ client_ecc, % {Curves, PointFmt} tracker :: pid() | 'undefined', %% Tracker process for listen socket sni_hostname = undefined, - downgrade + downgrade, + flight_buffer = [] :: list() %% Buffer of TLS/DTLS records, used during the TLS handshake + %% to when possible pack more than on TLS record into the + %% underlaying packet format. Introduced by DTLS - RFC 4347. + %% The mecahnism is also usefull in TLS although we do not + %% need to worry about packet loss in TLS. }). -define(DEFAULT_DIFFIE_HELLMAN_PARAMS, |