const priorityDefaultWeight …
type PriorityWriteSchedulerConfig …
func NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler { … }
type priorityNodeState …
const priorityNodeOpen …
const priorityNodeClosed …
const priorityNodeIdle …
type priorityNode …
func (n *priorityNode) setParent(parent *priorityNode) { … }
func (n *priorityNode) addBytes(b int64) { … }
func (n *priorityNode) walkReadyInOrder(openParent bool, tmp *[]*priorityNode, f func(*priorityNode, bool) bool) bool { … }
type sortPriorityNodeSiblings …
func (z sortPriorityNodeSiblings) Len() int { … }
func (z sortPriorityNodeSiblings) Swap(i, k int) { … }
func (z sortPriorityNodeSiblings) Less(i, k int) bool { … }
type priorityWriteScheduler …
func (ws *priorityWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) { … }
func (ws *priorityWriteScheduler) CloseStream(streamID uint32) { … }
func (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) { … }
func (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) { … }
func (ws *priorityWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) { … }
func (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, maxSize int, n *priorityNode) { … }
func (ws *priorityWriteScheduler) removeNode(n *priorityNode) { … }