type prioritizedFrame … type frameQueue … func (fq frameQueue) Len() int { … } func (fq frameQueue) Less(i, j int) bool { … } func (fq frameQueue) Swap(i, j int) { … } func (fq *frameQueue) Push(x interface{ … } func (fq *frameQueue) Pop() interface{ … } type PriorityFrameQueue … func NewPriorityFrameQueue(size int) *PriorityFrameQueue { … } func (q *PriorityFrameQueue) Push(frame spdy.Frame, priority uint8) { … } func (q *PriorityFrameQueue) Pop() spdy.Frame { … } func (q *PriorityFrameQueue) Drain() { … }