status-go/vendor/github.com/pion/sctp/control_queue.go

33 lines
598 B
Go

// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
// SPDX-License-Identifier: MIT
package sctp
// control queue
type controlQueue struct {
queue []*packet
}
func newControlQueue() *controlQueue {
return &controlQueue{queue: []*packet{}}
}
func (q *controlQueue) push(c *packet) {
q.queue = append(q.queue, c)
}
func (q *controlQueue) pushAll(packets []*packet) {
q.queue = append(q.queue, packets...)
}
func (q *controlQueue) popAll() []*packet {
packets := q.queue
q.queue = []*packet{}
return packets
}
func (q *controlQueue) size() int {
return len(q.queue)
}