(address string)
| 98 | } |
| 99 | |
| 100 | func (ir *IPLimiter) Leave(address string) { |
| 101 | ir.RLock() |
| 102 | record, exist := ir.records[address] |
| 103 | ir.RUnlock() |
| 104 | if exist { |
| 105 | if record.count == 1 { |
| 106 | ir.Lock() |
| 107 | delete(ir.records, address) |
| 108 | ir.Unlock() |
| 109 | } else { |
| 110 | record.count = record.count - 1 |
| 111 | } |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | var RequestLimiter *IPLimiter |
| 116 |
no outgoing calls
no test coverage detected