class PeerReputationManager implements DisconnectCallback {

  @Override
  public void onDisconnect(
      final PeerConnection connection,
      final DisconnectReason reason,
      final boolean initiatedByPeer) {
    if (shouldBlock(reason, initiatedByPeer)) {
      blacklist.add(connection.getPeer());
    }
  }

  public  PeerReputationManager(final PeerPermissionsDenylist blacklist);

}