qlog the retry_source_connection_id TP

This commit is contained in:
Marten Seemann
2020-05-24 16:39:34 +07:00
parent 4451f3bf5c
commit f1924b3182
3 changed files with 20 additions and 0 deletions

View File

@@ -329,6 +329,7 @@ type eventTransportParameters struct {
OriginalDestinationConnectionID protocol.ConnectionID
InitialSourceConnectionID protocol.ConnectionID
RetrySourceConnectionID *protocol.ConnectionID
StatelessResetToken *[16]byte
DisableActiveMigration bool
@@ -359,6 +360,9 @@ func (e eventTransportParameters) MarshalJSONObject(enc *gojay.Encoder) {
if e.StatelessResetToken != nil {
enc.StringKey("stateless_reset_token", fmt.Sprintf("%x", e.StatelessResetToken[:]))
}
if e.RetrySourceConnectionID != nil {
enc.StringKey("retry_source_connection_id", connectionID(*e.RetrySourceConnectionID).String())
}
}
enc.StringKey("initial_source_connection_id", connectionID(e.InitialSourceConnectionID).String())
enc.BoolKey("disable_active_migration", e.DisableActiveMigration)

View File

@@ -180,6 +180,7 @@ func (t *tracer) recordTransportParameters(sentBy protocol.Perspective, tp *wire
SentBy: sentBy,
OriginalDestinationConnectionID: tp.OriginalDestinationConnectionID,
InitialSourceConnectionID: tp.InitialSourceConnectionID,
RetrySourceConnectionID: tp.RetrySourceConnectionID,
StatelessResetToken: tp.StatelessResetToken,
DisableActiveMigration: tp.DisableActiveMigration,
MaxIdleTimeout: tp.MaxIdleTimeout,

View File

@@ -185,6 +185,7 @@ var _ = Describe("Tracer", func() {
StatelessResetToken: &[16]byte{0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00},
OriginalDestinationConnectionID: protocol.ConnectionID{0xde, 0xad, 0xc0, 0xde},
InitialSourceConnectionID: protocol.ConnectionID{0xde, 0xad, 0xbe, 0xef},
RetrySourceConnectionID: &protocol.ConnectionID{0xde, 0xca, 0xfb, 0xad},
ActiveConnectionIDLimit: 7,
})
entry := exportAndParseSingle()
@@ -195,6 +196,7 @@ var _ = Describe("Tracer", func() {
Expect(ev).To(HaveKeyWithValue("owner", "local"))
Expect(ev).To(HaveKeyWithValue("original_destination_connection_id", "deadc0de"))
Expect(ev).To(HaveKeyWithValue("initial_source_connection_id", "deadbeef"))
Expect(ev).To(HaveKeyWithValue("retry_source_connection_id", "decafbad"))
Expect(ev).To(HaveKeyWithValue("stateless_reset_token", "112233445566778899aabbccddeeff00"))
Expect(ev).To(HaveKeyWithValue("max_idle_timeout", float64(321)))
Expect(ev).To(HaveKeyWithValue("max_udp_payload_size", float64(1234)))
@@ -221,6 +223,19 @@ var _ = Describe("Tracer", func() {
Expect(ev).ToNot(HaveKey("stateless_reset_token"))
})
It("records transport parameters without retry_source_connection_id", func() {
tracer.SentTransportParameters(&wire.TransportParameters{
StatelessResetToken: &[16]byte{0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00},
})
entry := exportAndParseSingle()
Expect(entry.Time).To(BeTemporally("~", time.Now(), scaleDuration(10*time.Millisecond)))
Expect(entry.Category).To(Equal("transport"))
Expect(entry.Name).To(Equal("parameters_set"))
ev := entry.Event
Expect(ev).To(HaveKeyWithValue("owner", "local"))
Expect(ev).ToNot(HaveKey("retry_source_connection_id"))
})
It("records received transport parameters", func() {
tracer.ReceivedTransportParameters(&wire.TransportParameters{})
entry := exportAndParseSingle()