Source File
writesched.go
Belonging Package
golang.org/x/net/http2
package http2
import
OpenStream(streamID uint32, options OpenStreamOptions)
CloseStream(streamID uint32)
AdjustStream(streamID uint32, priority PriorityParam)
Push(wr FrameWriteRequest)
Pop() (wr FrameWriteRequest, ok bool)
}
func ( FrameWriteRequest) () uint32 {
if .stream == nil {
func ( FrameWriteRequest) () bool {
return .stream == nil
}
func ( FrameWriteRequest) ( int32) (FrameWriteRequest, FrameWriteRequest, int) {
var FrameWriteRequest
type writeQueue struct {
s []FrameWriteRequest
}
func ( *writeQueue) () bool { return len(.s) == 0 }
func ( *writeQueue) ( FrameWriteRequest) {
.s = append(.s, )
}
func ( *writeQueue) () FrameWriteRequest {
if len(.s) == 0 {
panic("invalid use of queue")
}
func ( *writeQueue) ( int32) (FrameWriteRequest, bool) {
if len(.s) == 0 {
return FrameWriteRequest{}, false
}
, , := .s[0].Consume()
switch {
case 0:
return FrameWriteRequest{}, false
case 1:
.shift()
case 2:
.s[0] =
}
return , true
}
type writeQueuePool []*writeQueue
func ( *writeQueuePool) ( *writeQueue) {
for := range .s {
.s[] = FrameWriteRequest{}
}
.s = .s[:0]
* = append(*, )
}
func ( *writeQueuePool) () *writeQueue {
:= len(*)
if == 0 {
return new(writeQueue)
}
:= - 1
:= (*)[]
(*)[] = nil
* = (*)[:]
return
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |