From c8aa4f4d4af50ff0e476811c83cba88b0ff162dc Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 28 May 2019 15:54:25 +0200 Subject: [PATCH 1/2] improve logging of MAX_STREAMS frames --- internal/wire/log.go | 7 +++++++ internal/wire/log_test.go | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/internal/wire/log.go b/internal/wire/log.go index 3c56ac458..b6d626a28 100644 --- a/internal/wire/log.go +++ b/internal/wire/log.go @@ -33,6 +33,13 @@ func LogFrame(logger utils.Logger, frame Frame, sent bool) { } else { logger.Debugf("\t%s &wire.AckFrame{LargestAcked: %#x, LowestAcked: %#x, DelayTime: %s}", dir, f.LargestAcked(), f.LowestAcked(), f.DelayTime.String()) } + case *MaxStreamsFrame: + switch f.Type { + case protocol.StreamTypeUni: + logger.Debugf("\t%s &wire.MaxStreamsFrame{Type: uni, MaxStreams: %d}", dir, f.MaxStreams) + case protocol.StreamTypeBidi: + logger.Debugf("\t%s &wire.MaxStreamsFrame{Type: bidi, MaxStreams: %d}", dir, f.MaxStreams) + } case *NewConnectionIDFrame: logger.Debugf("\t%s &wire.NewConnectionIDFrame{SequenceNumber: %d, ConnectionID: %s, StatelessResetToken: %#x}", dir, f.SequenceNumber, f.ConnectionID, f.StatelessResetToken) case *NewTokenFrame: diff --git a/internal/wire/log_test.go b/internal/wire/log_test.go index 1054c7764..804ab8f47 100644 --- a/internal/wire/log_test.go +++ b/internal/wire/log_test.go @@ -87,6 +87,15 @@ var _ = Describe("Frame logging", func() { Expect(buf.String()).To(ContainSubstring("\t<- &wire.AckFrame{LargestAcked: 0x8, LowestAcked: 0x2, AckRanges: {{Largest: 0x8, Smallest: 0x5}, {Largest: 0x3, Smallest: 0x2}}, DelayTime: 12ms}\n")) }) + It("logs MAX_STREAMS frames", func() { + frame := &MaxStreamsFrame{ + Type: protocol.StreamTypeBidi, + MaxStreams: 42, + } + LogFrame(logger, frame, false) + Expect(buf.String()).To(ContainSubstring("\t<- &wire.MaxStreamsFrame{Type: bidi, MaxStreams: 42}\n")) + }) + It("logs NEW_CONNECTION_ID frames", func() { LogFrame(logger, &NewConnectionIDFrame{ SequenceNumber: 42, From 8c40c3f768773bc6fced1962e7d05967f094c56e Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 28 May 2019 15:56:02 +0200 Subject: [PATCH 2/2] improve logging of STREAMS_BLOCKED frames --- internal/wire/log.go | 7 +++++++ internal/wire/log_test.go | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/internal/wire/log.go b/internal/wire/log.go index b6d626a28..790523d7b 100644 --- a/internal/wire/log.go +++ b/internal/wire/log.go @@ -40,6 +40,13 @@ func LogFrame(logger utils.Logger, frame Frame, sent bool) { case protocol.StreamTypeBidi: logger.Debugf("\t%s &wire.MaxStreamsFrame{Type: bidi, MaxStreams: %d}", dir, f.MaxStreams) } + case *StreamsBlockedFrame: + switch f.Type { + case protocol.StreamTypeUni: + logger.Debugf("\t%s &wire.StreamsBlockedFrame{Type: uni, MaxStreams: %d}", dir, f.StreamLimit) + case protocol.StreamTypeBidi: + logger.Debugf("\t%s &wire.StreamsBlockedFrame{Type: bidi, MaxStreams: %d}", dir, f.StreamLimit) + } case *NewConnectionIDFrame: logger.Debugf("\t%s &wire.NewConnectionIDFrame{SequenceNumber: %d, ConnectionID: %s, StatelessResetToken: %#x}", dir, f.SequenceNumber, f.ConnectionID, f.StatelessResetToken) case *NewTokenFrame: diff --git a/internal/wire/log_test.go b/internal/wire/log_test.go index 804ab8f47..f611e5f4c 100644 --- a/internal/wire/log_test.go +++ b/internal/wire/log_test.go @@ -96,6 +96,15 @@ var _ = Describe("Frame logging", func() { Expect(buf.String()).To(ContainSubstring("\t<- &wire.MaxStreamsFrame{Type: bidi, MaxStreams: 42}\n")) }) + It("logs STREAMS_BLOCKED frames", func() { + frame := &StreamsBlockedFrame{ + Type: protocol.StreamTypeBidi, + StreamLimit: 42, + } + LogFrame(logger, frame, false) + Expect(buf.String()).To(ContainSubstring("\t<- &wire.StreamsBlockedFrame{Type: bidi, MaxStreams: 42}\n")) + }) + It("logs NEW_CONNECTION_ID frames", func() { LogFrame(logger, &NewConnectionIDFrame{ SequenceNumber: 42,