forked from quic-go/quic-go
@@ -50,7 +50,7 @@ type Session struct {
|
||||
sentPacketHandler ackhandler.SentPacketHandler
|
||||
receivedPacketHandler ackhandler.ReceivedPacketHandler
|
||||
stopWaitingManager ackhandler.StopWaitingManager
|
||||
windowUpdateManager *WindowUpdateManager
|
||||
windowUpdateManager *windowUpdateManager
|
||||
|
||||
unpacker *packetUnpacker
|
||||
packer *packetPacker
|
||||
@@ -87,7 +87,7 @@ func NewSession(conn connection, v protocol.VersionNumber, connectionID protocol
|
||||
sentPacketHandler: ackhandler.NewSentPacketHandler(stopWaitingManager),
|
||||
receivedPacketHandler: ackhandler.NewReceivedPacketHandler(),
|
||||
stopWaitingManager: stopWaitingManager,
|
||||
windowUpdateManager: NewWindowUpdateManager(),
|
||||
windowUpdateManager: newWindowUpdateManager(),
|
||||
receivedPackets: make(chan receivedPacket, 1000), // TODO: What if server receives many packets and connection is already closed?!
|
||||
closeChan: make(chan struct{}, 1),
|
||||
sendingScheduled: make(chan struct{}, 1),
|
||||
|
||||
@@ -12,21 +12,21 @@ type windowUpdateItem struct {
|
||||
Counter uint8
|
||||
}
|
||||
|
||||
// WindowUpdateManager manages window update frames for receiving data
|
||||
type WindowUpdateManager struct {
|
||||
// windowUpdateManager manages window update frames for receiving data
|
||||
type windowUpdateManager struct {
|
||||
streamOffsets map[protocol.StreamID]*windowUpdateItem
|
||||
mutex sync.RWMutex
|
||||
}
|
||||
|
||||
// NewWindowUpdateManager returns a new WindowUpdateManager
|
||||
func NewWindowUpdateManager() *WindowUpdateManager {
|
||||
return &WindowUpdateManager{
|
||||
// newWindowUpdateManager returns a new windowUpdateManager
|
||||
func newWindowUpdateManager() *windowUpdateManager {
|
||||
return &windowUpdateManager{
|
||||
streamOffsets: make(map[protocol.StreamID]*windowUpdateItem),
|
||||
}
|
||||
}
|
||||
|
||||
// SetStreamOffset sets an offset for a stream
|
||||
func (m *WindowUpdateManager) SetStreamOffset(streamID protocol.StreamID, n protocol.ByteCount) {
|
||||
func (m *windowUpdateManager) SetStreamOffset(streamID protocol.StreamID, n protocol.ByteCount) {
|
||||
m.mutex.Lock()
|
||||
defer m.mutex.Unlock()
|
||||
|
||||
@@ -43,7 +43,7 @@ func (m *WindowUpdateManager) SetStreamOffset(streamID protocol.StreamID, n prot
|
||||
}
|
||||
|
||||
// GetWindowUpdateFrames gets all the WindowUpdate frames that need to be sent
|
||||
func (m *WindowUpdateManager) GetWindowUpdateFrames() []*frames.WindowUpdateFrame {
|
||||
func (m *windowUpdateManager) GetWindowUpdateFrames() []*frames.WindowUpdateFrame {
|
||||
m.mutex.RLock()
|
||||
defer m.mutex.RUnlock()
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ import (
|
||||
)
|
||||
|
||||
var _ = Describe("WindowUpdateManager", func() {
|
||||
var wum *WindowUpdateManager
|
||||
var wum *windowUpdateManager
|
||||
|
||||
BeforeEach(func() {
|
||||
wum = NewWindowUpdateManager()
|
||||
wum = newWindowUpdateManager()
|
||||
})
|
||||
|
||||
Context("queueing new window updates", func() {
|
||||
|
||||
Reference in New Issue
Block a user