private void respondToFindNeighbors(
      final FindNeighborsPacketData packetData, final DiscoveryPeer sender) {
    if (packetData.getExpiration() < Instant.now().getEpochSecond()) {
      return;
    }
    // Each peer is encoded as 16 bytes for address, 4 bytes for port, 4 bytes for tcp port
    // and 64 bytes for id. This is prepended by 97 bytes of hash, signature and type.
    // 16 + 4 + 4 + 64 = 88 bytes
    // 88 * 13 = 1144 bytes
    // To fit under 1280 bytes, we must return just 13 peers maximum.
    final List<DiscoveryPeer> peers = peerTable.nearestBondedPeers(packetData.getTarget(), 13);
    final PacketData data = neighborsPacketDataFactory.create(peers);
    sendPacket(sender, PacketType.NEIGHBORS, data);
  }
Dispatches a new tracked interaction with a peer, adding it to the {@link
#inflightInteractions} map and executing the action for the first time.

<p>If a previous inflightInteractions interaction existed, we cancel any associated timers.

@param peer The peer.
@param state The state.
ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java