in reassembler.go [228:254]
func (l *eventList) Clear() ([]*event, int) {
l.Lock()
defer l.Unlock()
var lost int
var seq sequenceNum
var evicted []*event
for {
size := len(l.seqs)
if size == 0 {
break
}
// Get event.
seq = l.seqs[0]
event := l.events[seq]
if l.lastSeq > 0 {
lost += int(seq - l.lastSeq - 1)
}
l.lastSeq = seq
evicted = append(evicted, event)
l.remove()
}
return evicted, lost
}