рабочий вариант, но скороть 10 МБит
This commit is contained in:
@@ -129,20 +129,36 @@ func TestSessionResetDropsOnlySelectedStream(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSessionAckUpdatesMetrics(t *testing.T) {
|
||||
session := NewSession(SessionConfig{})
|
||||
session := NewSession(SessionConfig{InitialStreamCredit: 2})
|
||||
mustOpenStream(t, session, 1, TrafficClassReliable)
|
||||
mustEnqueue(t, session, 1, "one")
|
||||
mustEnqueue(t, session, 1, "two")
|
||||
if _, err := session.EnqueueData(1, []byte("blocked")); !errors.Is(err, ErrStreamCreditExhausted) {
|
||||
t.Fatalf("credit error = %v, want %v", err, ErrStreamCreditExhausted)
|
||||
}
|
||||
|
||||
if err := session.Ack(1, 2); err != nil {
|
||||
t.Fatalf("ack: %v", err)
|
||||
}
|
||||
mustEnqueue(t, session, 1, "three")
|
||||
snapshot := session.Snapshot()
|
||||
if snapshot.FramesAcked != 2 || snapshot.Streams[1].Acked != 2 {
|
||||
if snapshot.FramesAcked != 2 || snapshot.Streams[1].Acked != 2 || snapshot.Streams[1].Credit != 1 {
|
||||
t.Fatalf("ack metrics = %+v stream=%+v", snapshot, snapshot.Streams[1])
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionCreditIsCapped(t *testing.T) {
|
||||
session := NewSession(SessionConfig{InitialStreamCredit: 1, MaxStreamCredit: 2})
|
||||
mustOpenStream(t, session, 1, TrafficClassReliable)
|
||||
if err := session.AddCredit(1, 100); err != nil {
|
||||
t.Fatalf("add credit: %v", err)
|
||||
}
|
||||
snapshot := session.Snapshot()
|
||||
if snapshot.Streams[1].Credit != 2 {
|
||||
t.Fatalf("credit = %d, want cap 2", snapshot.Streams[1].Credit)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionCloseRejectsNewData(t *testing.T) {
|
||||
session := NewSession(SessionConfig{})
|
||||
mustOpenStream(t, session, 1, TrafficClassReliable)
|
||||
|
||||
Reference in New Issue
Block a user