public abstract class CommSystemFacade extends Object implements Service
Modifier and Type | Class and Description |
---|---|
static class |
CommSystemFacade.Status
Since the codes may change.
|
Modifier and Type | Field and Description |
---|---|
static short |
STATUS_DIFFERENT
We are behind a symmetric NAT which will make our 'from' address look
differently when we talk to multiple people
|
static short |
STATUS_DISCONNECTED
We have no network interface at all enabled transports
|
static short |
STATUS_HOSED
Our detection system is broken (SSU bind port failed)
|
static short |
STATUS_IPV4_DISABLED_IPV6_FIREWALLED
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_DISABLED_IPV6_OK
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_DISABLED_IPV6_UNKNOWN
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_FIREWALLED_IPV6_OK
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_FIREWALLED_IPV6_UNKNOWN
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_OK_IPV6_FIREWALLED
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_OK_IPV6_UNKNOWN
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_SNAT_IPV6_OK
We are behind a symmetric NAT which will make our 'from' address look
differently when we talk to multiple people
We can receive unsolicited connections on IPv6.
|
static short |
STATUS_IPV4_SNAT_IPV6_UNKNOWN
We are behind a symmetric NAT which will make our 'from' address look
differently when we talk to multiple people
We might be able to receive unsolicited connections on IPv6.
|
static short |
STATUS_IPV4_UNKNOWN_IPV6_FIREWALLED
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_IPV4_UNKNOWN_IPV6_OK
We have an IPv6 transport enabled and a public IPv6 address.
|
static short |
STATUS_OK
These must be increasing in "badness" (see TransportManager.java),
but UNKNOWN must be last.
|
static short |
STATUS_REJECT_UNSOLICITED
We are able to talk to peers that we initiate communication with, but
cannot receive unsolicited connections, i.e.
|
static short |
STATUS_UNKNOWN
Our reachability is unknown on all
|
Constructor and Description |
---|
CommSystemFacade() |
Modifier and Type | Method and Description |
---|---|
abstract int |
countActivePeers()
How many peers are we currently connected to, that we have
sent a message to or received a message from in the last five minutes.
|
abstract int |
countActiveSendPeers()
How many peers are we currently connected to, that we have
sent a message to in the last minute.
|
List<RouterAddress> |
createAddresses()
Create the list of RouterAddress structures based on the router's config
|
void |
forceDisconnect(Hash peer)
Tell the comm system to disconnect from this peer.
|
String |
getCountry(Hash peer) |
String |
getCountryName(String code) |
DHSessionKeyBuilder.Factory |
getDHFactory()
Hook for pluggable transport creation.
|
abstract Set<Hash> |
getEstablished()
Get all the peers we are connected to.
|
long |
getFramedAveragePeerClockSkew(int percentToInclude)
Return framed average clock skew of connected peers in seconds, or null if we cannot answer.
|
byte[] |
getIP(Hash dest) |
Long |
getMedianPeerClockSkew()
Median clock skew of connected peers in seconds, or null if we cannot answer.
|
List<String> |
getMostRecentErrorMessages() |
String |
getOurCountry() |
short |
getReachabilityStatus()
Deprecated.
use getStatus()
|
CommSystemFacade.Status |
getStatus()
Determine under what conditions we are remotely reachable.
|
SortedMap<String,Transport> |
getTransports() |
boolean |
haveHighOutboundCapacity() |
boolean |
haveInboundCapacity(int pct) |
boolean |
haveOutboundCapacity(int pct) |
boolean |
isBacklogged(Hash peer) |
boolean |
isDummy() |
abstract boolean |
isEstablished(Hash peer) |
boolean |
isInBadCountry() |
boolean |
isInBadCountry(Hash peer) |
boolean |
isInBadCountry(RouterInfo ri) |
void |
mayDisconnect(Hash peer)
Tell the comm system that we may disconnect from this peer.
|
void |
notifyRemoveAddress(boolean ipv6)
Tell other transports our address changed
|
void |
notifyRemoveAddress(RouterAddress address)
Tell other transports our address changed
|
void |
notifyReplaceAddress(RouterAddress address)
Tell other transports our address changed
|
abstract void |
processMessage(OutNetMessage msg) |
void |
queueLookup(byte[] ip) |
void |
recheckReachability()
Deprecated.
unused
|
void |
registerTransport(Transport t)
Pluggable transport
|
String |
renderPeerHTML(Hash peer) |
void |
renderStatusHTML(Writer out) |
void |
renderStatusHTML(Writer out,
String urlBase,
int sortFlags) |
void |
unregisterTransport(Transport t)
Pluggable transport
|
boolean |
wasUnreachable(Hash peer) |
public static final short STATUS_OK
public static final short STATUS_IPV4_OK_IPV6_UNKNOWN
public static final short STATUS_IPV4_OK_IPV6_FIREWALLED
public static final short STATUS_IPV4_UNKNOWN_IPV6_OK
public static final short STATUS_IPV4_FIREWALLED_IPV6_OK
public static final short STATUS_IPV4_DISABLED_IPV6_OK
public static final short STATUS_IPV4_SNAT_IPV6_OK
public static final short STATUS_DIFFERENT
public static final short STATUS_IPV4_SNAT_IPV6_UNKNOWN
public static final short STATUS_IPV4_FIREWALLED_IPV6_UNKNOWN
public static final short STATUS_REJECT_UNSOLICITED
public static final short STATUS_IPV4_UNKNOWN_IPV6_FIREWALLED
public static final short STATUS_IPV4_DISABLED_IPV6_UNKNOWN
public static final short STATUS_IPV4_DISABLED_IPV6_FIREWALLED
public static final short STATUS_DISCONNECTED
public static final short STATUS_HOSED
public static final short STATUS_UNKNOWN
public abstract void processMessage(OutNetMessage msg)
public void renderStatusHTML(Writer out, String urlBase, int sortFlags) throws IOException
IOException
public void renderStatusHTML(Writer out) throws IOException
renderStatusHTML
in interface Service
IOException
public List<RouterAddress> createAddresses()
public abstract int countActivePeers()
public abstract int countActiveSendPeers()
public boolean haveInboundCapacity(int pct)
public boolean haveOutboundCapacity(int pct)
public boolean haveHighOutboundCapacity()
public Long getMedianPeerClockSkew()
public long getFramedAveragePeerClockSkew(int percentToInclude)
@Deprecated public short getReachabilityStatus()
public CommSystemFacade.Status getStatus()
@Deprecated public void recheckReachability()
public boolean isBacklogged(Hash peer)
public boolean wasUnreachable(Hash peer)
public abstract boolean isEstablished(Hash peer)
public byte[] getIP(Hash dest)
public void queueLookup(byte[] ip)
public void mayDisconnect(Hash peer)
public void forceDisconnect(Hash peer)
public String getOurCountry()
public boolean isInBadCountry()
public boolean isInBadCountry(Hash peer)
public boolean isInBadCountry(RouterInfo ri)
public SortedMap<String,Transport> getTransports()
public abstract Set<Hash> getEstablished()
public boolean isDummy()
public void notifyReplaceAddress(RouterAddress address)
public void notifyRemoveAddress(RouterAddress address)
public void notifyRemoveAddress(boolean ipv6)
public void registerTransport(Transport t)
public void unregisterTransport(Transport t)
public DHSessionKeyBuilder.Factory getDHFactory()