diff --git a/internal/wire/ack_frame.go b/internal/wire/ack_frame.go index 00759db4..8eeb4001 100644 --- a/internal/wire/ack_frame.go +++ b/internal/wire/ack_frame.go @@ -19,23 +19,17 @@ type AckFrame struct { DelayTime time.Duration } -func parseAckFrame(r *bytes.Reader, version protocol.VersionNumber) (*AckFrame, error) { - return parseAckOrAckEcnFrame(r, false, version) -} - -func parseAckEcnFrame(r *bytes.Reader, version protocol.VersionNumber) (*AckFrame, error) { - return parseAckOrAckEcnFrame(r, true, version) -} - // parseAckFrame reads an ACK frame -func parseAckOrAckEcnFrame(r *bytes.Reader, ecn bool, version protocol.VersionNumber) (*AckFrame, error) { +func parseAckFrame(r *bytes.Reader, version protocol.VersionNumber) (*AckFrame, error) { if !version.UsesIETFFrameFormat() { return parseAckFrameLegacy(r, version) } - if _, err := r.ReadByte(); err != nil { + typeByte, err := r.ReadByte() + if err != nil { return nil, err } + ecn := typeByte&0x1 > 0 frame := &AckFrame{} @@ -50,14 +44,6 @@ func parseAckOrAckEcnFrame(r *bytes.Reader, ecn bool, version protocol.VersionNu } frame.DelayTime = time.Duration(delay*1<