insert method

Future<void> insert(
  1. ExpiringAddr a
)

Implementation

Future<void> insert(ExpiringAddr a) async {

  await _lock.synchronized(() async {
    a.heapIndex = -1;
    final peerKey = a.peer.toString();
    final addrKey = a.addr.toString();

    if (!_addrs.containsKey(peerKey)) {
      _addrs[peerKey] = <String, ExpiringAddr>{};
    }
    _addrs[peerKey]![addrKey] = a;

    // Don't add connected addr to heap
    if (a.isConnected()) {
      return;
    }
    push(a);
  });
}