package org.limewire.core.api.connection; import java.util.Properties; import org.limewire.friend.api.FriendPresence; /** * Defines a current Gnutella connection. */ public interface ConnectionItem { /** * Defines status codes. */ public enum Status { CONNECTING, OUTGOING, INCOMING } /** * Returns true if the host address is resolved. */ public boolean isAddressResolved(); /** * Sets indicator to determine if the host address is resolved. */ public void setAddressResolved(boolean resolved); /** * Returns a FriendPresence for the connection. */ public FriendPresence getFriendPresence(); public Properties getHeaderProperties(); public String getHostName(); public void setHostName(String hostName); public void resetHostName(); public float getMeasuredDownstreamBandwidth(); public float getMeasuredUpstreamBandwidth(); public int getNumMessagesReceived(); public int getNumMessagesSent(); public long getNumReceivedMessagesDropped(); public int getNumSentMessagesDropped(); public int getPort(); public int getQueryRouteTableEmptyUnits(); public double getQueryRouteTablePercentFull(); public int getQueryRouteTableSize(); public int getQueryRouteTableUnitsInUse(); public float getReadLostFromSSL(); public float getReadSavedFromCompression(); public float getSentLostFromSSL(); public float getSentSavedFromCompression(); public Status getStatus(); public long getTime(); public String getUserAgent(); /** * Returns true if the connection is connected. */ public boolean isConnected(); /** * Returns true if the connection is a leaf. */ public boolean isLeaf(); /** * Returns true if the connection is outgoing. */ public boolean isOutgoing(); /** * Returns true if the connection is a peer. */ public boolean isPeer(); /** * Returns true if the remote host is an ultrapeer. */ public boolean isUltrapeerConnection(); /** * Returns true if the connection is an ultrapeer. */ public boolean isUltrapeer(); /** * Updates the connection status. */ public void update(); }