()
| 155 | } |
| 156 | |
| 157 | func (db *Database) evictSequences() { |
| 158 | m := make(map[uint64]*list.Element) |
| 159 | l := list.New() |
| 160 | |
| 161 | for connSeq := range db.connSeqEvictCh { |
| 162 | if e, ok := m[connSeq]; ok { |
| 163 | l.MoveToFront(e) |
| 164 | return |
| 165 | } |
| 166 | |
| 167 | e := l.PushFront(connSeq) |
| 168 | m[connSeq] = e |
| 169 | |
| 170 | if l.Len() > MaxRecordedConnectionSequences { |
| 171 | e = l.Back() |
| 172 | if e != nil { |
| 173 | l.Remove(e) |
| 174 | evictSeq := e.Value.(uint64) |
| 175 | delete(m, evictSeq) |
| 176 | db.connSeqs.Delete(evictSeq) |
| 177 | } |
| 178 | } |
| 179 | } |
| 180 | } |
no test coverage detected