Skip to content

Commit

Permalink
Merge branch 'http_extensions' into this_aint_h2
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeBishop committed Mar 10, 2017
2 parents 2ef27e6 + f3259b4 commit 1cdfaeb
Show file tree
Hide file tree
Showing 5 changed files with 501 additions and 386 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ venv/
issues.json
lib
.targets.mk
draft-ietf-quic-tls.md
26 changes: 18 additions & 8 deletions draft-ietf-quic-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -626,11 +626,6 @@ The payload consists of:
Payload:
: HPACK-compressed request headers for the promised response.

TODOs:

- QUIC stream space may be enlarged; would need to redefine Promised Stream
field in this case.
- No CONTINUATION -- HEADERS have EHB; do we need it here?


# Error Handling {#errors}
Expand Down Expand Up @@ -1067,8 +1062,23 @@ The original authors of this specification were Robbie Shade and Mike Warres.

## Since draft-ietf-quic-http-01:

- SETTINGS can be sent only one at the start of a connection. SETTINGS_ACK
removed.
- SETTINGS changes:

- SETTINGS can be sent only once at the start of a connection; no changes
- SETTINGS_ACK removed
- Settings can only occur in the SETTINGS frame a single time
- Boolean format updated

- Alt-Svc parameter changed from "v" to "quic"; format updated

- Closing the connection control stream or any message control stream is a
fatal error

- HPACK Sequence counter can wrap

- 0-RTT guidance added

- Guide to differences from HTTP/2 and porting HTTP/2 extensions added

## Since draft-ietf-quic-http-00:

Expand All @@ -1079,7 +1089,7 @@ The original authors of this specification were Robbie Shade and Mike Warres.

- Adopted SETTINGS format from draft-bishop-httpbis-extended-settings-01

- Reworked SETTINGS_ACK to account for indeterminate inter-stream order.
- Reworked SETTINGS_ACK to account for indeterminate inter-stream order

- Described CONNECT pseudo-method

Expand Down
12 changes: 9 additions & 3 deletions draft-ietf-quic-recovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,12 @@ timeouts{{?RFC6298}} are an alarm based mechanism to recover from cases when
there are outstanding retransmittable packets, but an acknowledgement has
not been received in a timely manner.

### Early Retransmit

Early retransmit {{?RFC5827}} is implemented with a 1/4 RTT timer. It is
part of QUIC's time based loss detection, but is always enabled, even when
only packet reordering loss detection is enabled.

### Pseudocode

Pseudocode for SetLossDetectionAlarm follows:
Expand All @@ -402,18 +408,18 @@ Pseudocode for SetLossDetectionAlarm follows:
alarm_duration = max(alarm_duration, kMinTLPTimeout)
alarm_duration = alarm_duration << handshake_count
else if (largest sent packet is acked):
// Early retransmit {{?RFC5827}}
// Early retransmit
// with an alarm to reduce spurious retransmits.
alarm_duration = 0.25 * smoothed_rtt
else if (tlp_count < kMaxTLPs):
// Tail Loss Probe {{?I-D.dukkipati-tcpm-tcp-loss-probe}}
// Tail Loss Probe
if (retransmittable_packets_outstanding = 1):
alarm_duration = 1.5 * smoothed_rtt + kDelayedAckTimeout
else:
alarm_duration = kMinTLPTimeout
alarm_duration = max(alarm_duration, 2 * smoothed_rtt)
else:
// RTO alarm.
// RTO alarm
if (rto_count = 0):
alarm_duration = smoothed_rtt + 4 * rttvar
alarm_duration = max(alarm_duration, kMinRTOTimeout)
Expand Down
Loading

0 comments on commit 1cdfaeb

Please sign in to comment.