forked from quic-go/quic-go
add tracing for sent and received packets
This commit is contained in:
@@ -39,6 +39,9 @@ type SentPacketHandler interface {
|
||||
|
||||
GetAlarmTimeout() time.Time
|
||||
OnAlarm() error
|
||||
|
||||
// report some congestion statistics. For tracing only.
|
||||
GetStats() *State
|
||||
}
|
||||
|
||||
// ReceivedPacketHandler handles ACKs needed to send for incoming packets
|
||||
@@ -50,3 +53,12 @@ type ReceivedPacketHandler interface {
|
||||
GetAlarmTimeout() time.Time
|
||||
GetAckFrame(protocol.EncryptionLevel) *wire.AckFrame
|
||||
}
|
||||
|
||||
type State struct {
|
||||
MinRTT time.Duration
|
||||
SmoothedRTT time.Duration
|
||||
LatestRTT time.Duration
|
||||
|
||||
BytesInFlight protocol.ByteCount
|
||||
CongestionWindow protocol.ByteCount
|
||||
}
|
||||
|
||||
@@ -670,3 +670,13 @@ func (h *sentPacketHandler) ResetForRetry() error {
|
||||
h.updateLossDetectionAlarm()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *sentPacketHandler) GetStats() *State {
|
||||
return &State{
|
||||
MinRTT: h.rttStats.MinRTT(),
|
||||
SmoothedRTT: h.rttStats.SmoothedOrInitialRTT(),
|
||||
LatestRTT: h.rttStats.LatestRTT(),
|
||||
BytesInFlight: h.bytesInFlight,
|
||||
CongestionWindow: h.congestion.GetCongestionWindow(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +106,20 @@ func (mr *MockSentPacketHandlerMockRecorder) GetLowestPacketNotConfirmedAcked()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLowestPacketNotConfirmedAcked", reflect.TypeOf((*MockSentPacketHandler)(nil).GetLowestPacketNotConfirmedAcked))
|
||||
}
|
||||
|
||||
// GetStats mocks base method
|
||||
func (m *MockSentPacketHandler) GetStats() *ackhandler.State {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "GetStats")
|
||||
ret0, _ := ret[0].(*ackhandler.State)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// GetStats indicates an expected call of GetStats
|
||||
func (mr *MockSentPacketHandlerMockRecorder) GetStats() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetStats", reflect.TypeOf((*MockSentPacketHandler)(nil).GetStats))
|
||||
}
|
||||
|
||||
// OnAlarm mocks base method
|
||||
func (m *MockSentPacketHandler) OnAlarm() error {
|
||||
m.ctrl.T.Helper()
|
||||
|
||||
Reference in New Issue
Block a user