delete method

Future<void> delete(
  1. ExpiringAddr a
)

Implementation

Future<void> delete(ExpiringAddr a) async {
  await _lock.synchronized(() async {
    final peerKey = a.peer.toString();
    final addrKey = a.addr.toString();

    if (_addrs.containsKey(peerKey) &&
        _addrs[peerKey]!.containsKey(addrKey)) {
      final ea = _addrs[peerKey]![addrKey]!;
      if (ea.heapIndex != -1) {
        remove(ea.heapIndex);
      }
      _addrs[peerKey]!.remove(addrKey);
      if (_addrs[peerKey]!.isEmpty) {
        _addrs.remove(peerKey);
      }
    }
  });
}