From df55c30c86d373cfcbe47f9b8b498689232f335b Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 13 May 2020 11:58:24 +0700 Subject: [PATCH] add a function to tell if there's app data in the retransmission queue --- retransmission_queue.go | 4 ++++ retransmission_queue_test.go | 3 +++ 2 files changed, 7 insertions(+) diff --git a/retransmission_queue.go b/retransmission_queue.go index d29d3660b..404b72b79 100644 --- a/retransmission_queue.go +++ b/retransmission_queue.go @@ -47,6 +47,10 @@ func (q *retransmissionQueue) HasHandshakeData() bool { return len(q.handshakeCryptoData) > 0 || len(q.handshake) > 0 } +func (q *retransmissionQueue) HasAppData() bool { + return len(q.appData) > 0 +} + func (q *retransmissionQueue) AddAppData(f wire.Frame) { if _, ok := f.(*wire.StreamFrame); ok { panic("STREAM frames are handled with their respective streams.") diff --git a/retransmission_queue_test.go b/retransmission_queue_test.go index c9e940f01..213f732fb 100644 --- a/retransmission_queue_test.go +++ b/retransmission_queue_test.go @@ -176,9 +176,12 @@ var _ = Describe("Retransmission queue", func() { It("queues and retrieves a control frame", func() { f := &wire.MaxDataFrame{ByteOffset: 0x42} + Expect(q.HasAppData()).To(BeFalse()) q.AddAppData(f) + Expect(q.HasAppData()).To(BeTrue()) Expect(q.GetAppDataFrame(f.Length(version) - 1)).To(BeNil()) Expect(q.GetAppDataFrame(f.Length(version))).To(Equal(f)) + Expect(q.HasAppData()).To(BeFalse()) }) }) })