mirror of
https://github.com/refraction-networking/uquic.git
synced 2025-04-03 20:27:35 +03:00
split the tracing function for received short and long header packets
This commit is contained in:
parent
3a12a898a5
commit
ed15a94703
18 changed files with 222 additions and 89 deletions
|
@ -44,8 +44,10 @@ type (
|
|||
|
||||
// The Header is the QUIC packet header, before removing header protection.
|
||||
Header = wire.Header
|
||||
// The ExtendedHeader is the QUIC packet header, after removing header protection.
|
||||
// The ExtendedHeader is the QUIC Long Header packet header, after removing header protection.
|
||||
ExtendedHeader = wire.ExtendedHeader
|
||||
// The ShortHeader is the QUIC Short Header packet header, after removing header protection.
|
||||
ShortHeader = wire.ShortHeader
|
||||
// The TransportParameters are QUIC transport parameters.
|
||||
TransportParameters = wire.TransportParameters
|
||||
// The PreferredAddress is the preferred address sent in the transport parameters.
|
||||
|
@ -116,7 +118,8 @@ type ConnectionTracer interface {
|
|||
SentPacket(hdr *ExtendedHeader, size ByteCount, ack *AckFrame, frames []Frame)
|
||||
ReceivedVersionNegotiationPacket(dest, src ArbitraryLenConnectionID, _ []VersionNumber)
|
||||
ReceivedRetry(*Header)
|
||||
ReceivedPacket(hdr *ExtendedHeader, size ByteCount, frames []Frame)
|
||||
ReceivedLongHeaderPacket(hdr *ExtendedHeader, size ByteCount, frames []Frame)
|
||||
ReceivedShortHeaderPacket(hdr *ShortHeader, size ByteCount, frames []Frame)
|
||||
BufferedPacket(PacketType)
|
||||
DroppedPacket(PacketType, ByteCount, PacketDropReason)
|
||||
UpdatedMetrics(rttStats *RTTStats, cwnd, bytesInFlight ByteCount, packetsInFlight int)
|
||||
|
|
|
@ -182,16 +182,16 @@ func (mr *MockConnectionTracerMockRecorder) NegotiatedVersion(arg0, arg1, arg2 i
|
|||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NegotiatedVersion", reflect.TypeOf((*MockConnectionTracer)(nil).NegotiatedVersion), arg0, arg1, arg2)
|
||||
}
|
||||
|
||||
// ReceivedPacket mocks base method.
|
||||
func (m *MockConnectionTracer) ReceivedPacket(arg0 *wire.ExtendedHeader, arg1 protocol.ByteCount, arg2 []Frame) {
|
||||
// ReceivedLongHeaderPacket mocks base method.
|
||||
func (m *MockConnectionTracer) ReceivedLongHeaderPacket(arg0 *wire.ExtendedHeader, arg1 protocol.ByteCount, arg2 []Frame) {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "ReceivedPacket", arg0, arg1, arg2)
|
||||
m.ctrl.Call(m, "ReceivedLongHeaderPacket", arg0, arg1, arg2)
|
||||
}
|
||||
|
||||
// ReceivedPacket indicates an expected call of ReceivedPacket.
|
||||
func (mr *MockConnectionTracerMockRecorder) ReceivedPacket(arg0, arg1, arg2 interface{}) *gomock.Call {
|
||||
// ReceivedLongHeaderPacket indicates an expected call of ReceivedLongHeaderPacket.
|
||||
func (mr *MockConnectionTracerMockRecorder) ReceivedLongHeaderPacket(arg0, arg1, arg2 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedPacket", reflect.TypeOf((*MockConnectionTracer)(nil).ReceivedPacket), arg0, arg1, arg2)
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedLongHeaderPacket", reflect.TypeOf((*MockConnectionTracer)(nil).ReceivedLongHeaderPacket), arg0, arg1, arg2)
|
||||
}
|
||||
|
||||
// ReceivedRetry mocks base method.
|
||||
|
@ -206,6 +206,18 @@ func (mr *MockConnectionTracerMockRecorder) ReceivedRetry(arg0 interface{}) *gom
|
|||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedRetry", reflect.TypeOf((*MockConnectionTracer)(nil).ReceivedRetry), arg0)
|
||||
}
|
||||
|
||||
// ReceivedShortHeaderPacket mocks base method.
|
||||
func (m *MockConnectionTracer) ReceivedShortHeaderPacket(arg0 *wire.ShortHeader, arg1 protocol.ByteCount, arg2 []Frame) {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "ReceivedShortHeaderPacket", arg0, arg1, arg2)
|
||||
}
|
||||
|
||||
// ReceivedShortHeaderPacket indicates an expected call of ReceivedShortHeaderPacket.
|
||||
func (mr *MockConnectionTracerMockRecorder) ReceivedShortHeaderPacket(arg0, arg1, arg2 interface{}) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedShortHeaderPacket", reflect.TypeOf((*MockConnectionTracer)(nil).ReceivedShortHeaderPacket), arg0, arg1, arg2)
|
||||
}
|
||||
|
||||
// ReceivedTransportParameters mocks base method.
|
||||
func (m *MockConnectionTracer) ReceivedTransportParameters(arg0 *wire.TransportParameters) {
|
||||
m.ctrl.T.Helper()
|
||||
|
|
|
@ -122,9 +122,15 @@ func (m *connTracerMultiplexer) ReceivedRetry(hdr *Header) {
|
|||
}
|
||||
}
|
||||
|
||||
func (m *connTracerMultiplexer) ReceivedPacket(hdr *ExtendedHeader, size ByteCount, frames []Frame) {
|
||||
func (m *connTracerMultiplexer) ReceivedLongHeaderPacket(hdr *ExtendedHeader, size ByteCount, frames []Frame) {
|
||||
for _, t := range m.tracers {
|
||||
t.ReceivedPacket(hdr, size, frames)
|
||||
t.ReceivedLongHeaderPacket(hdr, size, frames)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *connTracerMultiplexer) ReceivedShortHeaderPacket(hdr *ShortHeader, size ByteCount, frames []Frame) {
|
||||
for _, t := range m.tracers {
|
||||
t.ReceivedShortHeaderPacket(hdr, size, frames)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -181,12 +181,20 @@ var _ = Describe("Tracing", func() {
|
|||
tracer.ReceivedRetry(hdr)
|
||||
})
|
||||
|
||||
It("traces the ReceivedPacket event", func() {
|
||||
It("traces the ReceivedLongHeaderPacket event", func() {
|
||||
hdr := &ExtendedHeader{Header: Header{DestConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3})}}
|
||||
ping := &PingFrame{}
|
||||
tr1.EXPECT().ReceivedPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tr2.EXPECT().ReceivedPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tracer.ReceivedPacket(hdr, 1337, []Frame{ping})
|
||||
tr1.EXPECT().ReceivedLongHeaderPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tr2.EXPECT().ReceivedLongHeaderPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tracer.ReceivedLongHeaderPacket(hdr, 1337, []Frame{ping})
|
||||
})
|
||||
|
||||
It("traces the ReceivedShortHeaderPacket event", func() {
|
||||
hdr := &ShortHeader{DestConnectionID: protocol.ParseConnectionID([]byte{1, 2, 3})}
|
||||
ping := &PingFrame{}
|
||||
tr1.EXPECT().ReceivedShortHeaderPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tr2.EXPECT().ReceivedShortHeaderPacket(hdr, ByteCount(1337), []Frame{ping})
|
||||
tracer.ReceivedShortHeaderPacket(hdr, 1337, []Frame{ping})
|
||||
})
|
||||
|
||||
It("traces the BufferedPacket event", func() {
|
||||
|
|
|
@ -38,10 +38,12 @@ func (n NullConnectionTracer) RestoredTransportParameters(*TransportParameters)
|
|||
func (n NullConnectionTracer) SentPacket(*ExtendedHeader, ByteCount, *AckFrame, []Frame) {}
|
||||
func (n NullConnectionTracer) ReceivedVersionNegotiationPacket(dest, src ArbitraryLenConnectionID, _ []VersionNumber) {
|
||||
}
|
||||
func (n NullConnectionTracer) ReceivedRetry(*Header) {}
|
||||
func (n NullConnectionTracer) ReceivedPacket(hdr *ExtendedHeader, size ByteCount, frames []Frame) {}
|
||||
func (n NullConnectionTracer) BufferedPacket(PacketType) {}
|
||||
func (n NullConnectionTracer) DroppedPacket(PacketType, ByteCount, PacketDropReason) {}
|
||||
func (n NullConnectionTracer) ReceivedRetry(*Header) {}
|
||||
func (n NullConnectionTracer) ReceivedLongHeaderPacket(*ExtendedHeader, ByteCount, []Frame) {}
|
||||
func (n NullConnectionTracer) ReceivedShortHeaderPacket(*ShortHeader, ByteCount, []Frame) {}
|
||||
func (n NullConnectionTracer) BufferedPacket(PacketType) {}
|
||||
func (n NullConnectionTracer) DroppedPacket(PacketType, ByteCount, PacketDropReason) {}
|
||||
|
||||
func (n NullConnectionTracer) UpdatedMetrics(rttStats *RTTStats, cwnd, bytesInFlight ByteCount, packetsInFlight int) {
|
||||
}
|
||||
func (n NullConnectionTracer) AcknowledgedPacket(EncryptionLevel, PacketNumber) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue