mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
6fde3632ef
The vendor/ folder was created with the help of @FiloSottile's gvt and vendorcheck. Any dependencies of Caddy plugins outside this repo are not vendored. We do not remove any unused, vendored packages because vendorcheck -u only checks using the current build configuration; i.e. packages that may be imported by files toggled by build tags of other systems. CI tests have been updated to ignore the vendor/ folder. When Go 1.9 is released, a few of the go commands should be revised to again use ./... as it will ignore the vendor folder by default.
26 lines
1.1 KiB
Go
26 lines
1.1 KiB
Go
package flowcontrol
|
|
|
|
import "github.com/lucas-clemente/quic-go/protocol"
|
|
|
|
// WindowUpdate provides the data for WindowUpdateFrames.
|
|
type WindowUpdate struct {
|
|
StreamID protocol.StreamID
|
|
Offset protocol.ByteCount
|
|
}
|
|
|
|
// A FlowControlManager manages the flow control
|
|
type FlowControlManager interface {
|
|
NewStream(streamID protocol.StreamID, contributesToConnectionFlow bool)
|
|
RemoveStream(streamID protocol.StreamID)
|
|
// methods needed for receiving data
|
|
ResetStream(streamID protocol.StreamID, byteOffset protocol.ByteCount) error
|
|
UpdateHighestReceived(streamID protocol.StreamID, byteOffset protocol.ByteCount) error
|
|
AddBytesRead(streamID protocol.StreamID, n protocol.ByteCount) error
|
|
GetWindowUpdates() []WindowUpdate
|
|
GetReceiveWindow(streamID protocol.StreamID) (protocol.ByteCount, error)
|
|
// methods needed for sending data
|
|
AddBytesSent(streamID protocol.StreamID, n protocol.ByteCount) error
|
|
SendWindowSize(streamID protocol.StreamID) (protocol.ByteCount, error)
|
|
RemainingConnectionWindowSize() protocol.ByteCount
|
|
UpdateWindow(streamID protocol.StreamID, offset protocol.ByteCount) (bool, error)
|
|
}
|