package com.limegroup.gnutella;
import java.util.Collection;
import org.limewire.collection.Cancellable;
import org.limewire.io.IpPort;
import com.limegroup.gnutella.messages.Message;
public interface UDPPinger {
/**
* Ranks the specified Collection of hosts with the given
* Canceller.
*/
public void rank(Collection<? extends IpPort> hosts, Cancellable canceller);
/**
* Ranks the specified <tt>Collection</tt> of hosts with the given
* MessageListener, Cancellable and Message.
*
*/
public void rank(final Collection<? extends IpPort> hosts,
final MessageListener listener, Cancellable canceller,
final Message message);
/**
* Ranks the specified <tt>Collection</tt> of hosts.
*
* If expireTime is < 0, the default expiry time for the message
* is DEFAULT_LISTEN_EXPIRE_TIME
*
* @param hosts the <tt>Collection</tt> of hosts to rank
* @param listener a MessageListener if you want to spy on the message. can
* be null.
* @param canceller a Cancellable that can short-circuit the sending
* @param message the message to send, can be null.
* @param expireTime The expiry time of the message. If this is < 0, takes the
* DEFAULT_LISTEN_EXPIRE_TIME value.
* @return a new <tt>UDPHostRanker</tt> instance
* @throws <tt>NullPointerException</tt> if the hosts argument is
* <tt>null</tt>
*/
public void rank(final Collection<? extends IpPort> hosts,
final MessageListener listener, Cancellable canceller,
final Message message, int expireTime);
}