def delete(peer)
      @peersByAddr.delete byAddrKey(peer)

      list = @peersByInfoHash[peer.infoHash]
      if list
        list.collect! do |p|
          if !p.eql?(peer)
            peer
          else
            nil
          end
        end
        list.compact!
      end

      if peer.trackerPeer.id
        list = @peersById[peer.trackerPeer.id]
        if list
          list.collect! do |p|
            if !p.eql?(peer)
              peer
            else
              nil
            end
          end
          list.compact!
        end
      end
    end
def delete(peer)
      @peersByAddr.delete byAddrKey(peer)

      list = @peersByInfoHash[peer.infoHash]
      if list
        list.collect! do |p|
          if !p.eql?(peer)
            peer
          else
            nil
          end
        end
        list.compact!
      end

      if peer.trackerPeer.id
        list = @peersById[peer.trackerPeer.id]
        if list
          list.collect! do |p|
            if !p.eql?(peer)
              peer
            else
              nil
            end
          end
          list.compact!
        end
      end
    end
Delete the specified peer from the PeerHolder.