privatize windowUpdateManager

ref #60
This commit is contained in:
Lucas Clemente
2016-05-15 15:29:21 +02:00
parent 864105271e
commit 5fab9b5326
3 changed files with 11 additions and 11 deletions

View File

@@ -50,7 +50,7 @@ type Session struct {
sentPacketHandler ackhandler.SentPacketHandler sentPacketHandler ackhandler.SentPacketHandler
receivedPacketHandler ackhandler.ReceivedPacketHandler receivedPacketHandler ackhandler.ReceivedPacketHandler
stopWaitingManager ackhandler.StopWaitingManager stopWaitingManager ackhandler.StopWaitingManager
windowUpdateManager *WindowUpdateManager windowUpdateManager *windowUpdateManager
unpacker *packetUnpacker unpacker *packetUnpacker
packer *packetPacker packer *packetPacker
@@ -87,7 +87,7 @@ func NewSession(conn connection, v protocol.VersionNumber, connectionID protocol
sentPacketHandler: ackhandler.NewSentPacketHandler(stopWaitingManager), sentPacketHandler: ackhandler.NewSentPacketHandler(stopWaitingManager),
receivedPacketHandler: ackhandler.NewReceivedPacketHandler(), receivedPacketHandler: ackhandler.NewReceivedPacketHandler(),
stopWaitingManager: stopWaitingManager, stopWaitingManager: stopWaitingManager,
windowUpdateManager: NewWindowUpdateManager(), windowUpdateManager: newWindowUpdateManager(),
receivedPackets: make(chan receivedPacket, 1000), // TODO: What if server receives many packets and connection is already closed?! receivedPackets: make(chan receivedPacket, 1000), // TODO: What if server receives many packets and connection is already closed?!
closeChan: make(chan struct{}, 1), closeChan: make(chan struct{}, 1),
sendingScheduled: make(chan struct{}, 1), sendingScheduled: make(chan struct{}, 1),

View File

@@ -12,21 +12,21 @@ type windowUpdateItem struct {
Counter uint8 Counter uint8
} }
// WindowUpdateManager manages window update frames for receiving data // windowUpdateManager manages window update frames for receiving data
type WindowUpdateManager struct { type windowUpdateManager struct {
streamOffsets map[protocol.StreamID]*windowUpdateItem streamOffsets map[protocol.StreamID]*windowUpdateItem
mutex sync.RWMutex mutex sync.RWMutex
} }
// NewWindowUpdateManager returns a new WindowUpdateManager // newWindowUpdateManager returns a new windowUpdateManager
func NewWindowUpdateManager() *WindowUpdateManager { func newWindowUpdateManager() *windowUpdateManager {
return &WindowUpdateManager{ return &windowUpdateManager{
streamOffsets: make(map[protocol.StreamID]*windowUpdateItem), streamOffsets: make(map[protocol.StreamID]*windowUpdateItem),
} }
} }
// SetStreamOffset sets an offset for a stream // 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() m.mutex.Lock()
defer m.mutex.Unlock() 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 // 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() m.mutex.RLock()
defer m.mutex.RUnlock() defer m.mutex.RUnlock()

View File

@@ -8,10 +8,10 @@ import (
) )
var _ = Describe("WindowUpdateManager", func() { var _ = Describe("WindowUpdateManager", func() {
var wum *WindowUpdateManager var wum *windowUpdateManager
BeforeEach(func() { BeforeEach(func() {
wum = NewWindowUpdateManager() wum = newWindowUpdateManager()
}) })
Context("queueing new window updates", func() { Context("queueing new window updates", func() {