public class CommSystemFacadeImpl extends CommSystemFacade
CommSystemFacade.Status
ROUTER_BUNDLE_NAME, STATUS_DIFFERENT, STATUS_DISCONNECTED, STATUS_HOSED, STATUS_IPV4_DISABLED_IPV6_FIREWALLED, STATUS_IPV4_DISABLED_IPV6_OK, STATUS_IPV4_DISABLED_IPV6_UNKNOWN, STATUS_IPV4_FIREWALLED_IPV6_OK, STATUS_IPV4_FIREWALLED_IPV6_UNKNOWN, STATUS_IPV4_OK_IPV6_FIREWALLED, STATUS_IPV4_OK_IPV6_UNKNOWN, STATUS_IPV4_SNAT_IPV6_OK, STATUS_IPV4_SNAT_IPV6_UNKNOWN, STATUS_IPV4_UNKNOWN_IPV6_FIREWALLED, STATUS_IPV4_UNKNOWN_IPV6_OK, STATUS_OK, STATUS_REJECT_UNSOLICITED, STATUS_UNKNOWN
Constructor and Description |
---|
CommSystemFacadeImpl(RouterContext context) |
Modifier and Type | Method and Description |
---|---|
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.
|
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 |
exemptIncoming(Hash peer)
Exempt this router hash from any incoming throttles or rejections
|
void |
forceDisconnect(Hash peer)
Tell the comm system to disconnect from this peer.
|
Map<String,String> |
getCountries()
Get the country code map
|
String |
getCountry(Hash peer)
Uses the transport IP first because that lookup is fast,
then the IP from the netDb.
|
String |
getCountryName(String c)
full name for a country code, or the code if we don't know the name
|
DHSessionKeyBuilder.Factory |
getDHFactory()
Hook for pluggable transport creation.
|
List<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 peer) |
String |
getLocalizedStatusString()
getStatus().toStatusString(), translated if available.
|
List<String> |
getMostRecentErrorMessages() |
String |
getOurCountry() |
CommSystemFacade.Status |
getStatus()
Determine under what conditions we are remotely reachable.
|
SortedMap<String,Transport> |
getTransports() |
X25519KeyFactory |
getXDHFactory()
Factory for making X25519 key pairs.
|
boolean |
haveHighOutboundCapacity() |
boolean |
haveInboundCapacity(int pct) |
boolean |
haveOutboundCapacity(int pct) |
void |
initGeoIP()
Router must call after netdb is initialized
|
boolean |
isBacklogged(Hash peer) |
boolean |
isDummy()
Is everything disabled for testing?
|
boolean |
isEstablished(Hash peer) |
boolean |
isExemptIncoming(String ip)
Is this IP exempt from any incoming throttles or rejections
|
boolean |
isInStrictCountry()
Are we in a strict country
|
boolean |
isInStrictCountry(Hash peer)
Are they in a strict country.
|
boolean |
isInStrictCountry(RouterInfo ri)
Are they in a strict country
|
boolean |
isRunning() |
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 udpAddr)
UDP changed addresses, tell NTCP and restart
All the work moved to NTCPTransport.externalAddressReceived()
|
void |
processMessage(OutNetMessage msg)
Send the message out
|
void |
queueLookup(byte[] ip) |
void |
recheckReachability()
Deprecated.
unused
|
void |
registerTransport(Transport t)
Pluggable transports.
|
void |
removeExemption(String ip)
Remove this IP from the exemptions
|
String |
renderPeerHTML(Hash peer)
Provide a consistent "look" for displaying router IDs in the console
|
void |
renderStatusHTML(Writer out,
String urlBase,
int sortFlags)
As of 0.9.31, only outputs UPnP status
Warning - blocking, very slow, queries the active UPnP router,
will take many seconds if it has vanished.
|
void |
restart()
Perform a soft restart.
|
void |
shutdown()
Cannot be restarted after calling this.
|
void |
startup()
Instruct the service that it should start normal operation.
|
void |
unregisterTransport(Transport t)
Pluggable transports.
|
boolean |
wasUnreachable(Hash peer) |
getMedianPeerClockSkew, getReachabilityStatus, renderStatusHTML
public CommSystemFacadeImpl(RouterContext context)
public void startup()
Service
public void shutdown()
public void restart()
Service
public boolean isRunning()
isRunning
in class CommSystemFacade
public int countActivePeers()
countActivePeers
in class CommSystemFacade
public int countActiveSendPeers()
countActiveSendPeers
in class CommSystemFacade
public boolean haveInboundCapacity(int pct)
haveInboundCapacity
in class CommSystemFacade
public boolean haveOutboundCapacity(int pct)
haveOutboundCapacity
in class CommSystemFacade
public boolean haveHighOutboundCapacity()
haveHighOutboundCapacity
in class CommSystemFacade
public long getFramedAveragePeerClockSkew(int percentToInclude)
CommSystemFacade
getFramedAveragePeerClockSkew
in class CommSystemFacade
percentToInclude
- 1-100public void processMessage(OutNetMessage msg)
processMessage
in class CommSystemFacade
public boolean isBacklogged(Hash peer)
isBacklogged
in class CommSystemFacade
public boolean isEstablished(Hash peer)
isEstablished
in class CommSystemFacade
public List<Hash> getEstablished()
CommSystemFacade
getEstablished
in class CommSystemFacade
public boolean wasUnreachable(Hash peer)
wasUnreachable
in class CommSystemFacade
public byte[] getIP(Hash peer)
getIP
in class CommSystemFacade
public void mayDisconnect(Hash peer)
mayDisconnect
in class CommSystemFacade
public void forceDisconnect(Hash peer)
forceDisconnect
in class CommSystemFacade
public List<String> getMostRecentErrorMessages()
getMostRecentErrorMessages
in class CommSystemFacade
public CommSystemFacade.Status getStatus()
CommSystemFacade
getStatus
in class CommSystemFacade
public String getLocalizedStatusString()
getLocalizedStatusString
in class CommSystemFacade
@Deprecated public void recheckReachability()
recheckReachability
in class CommSystemFacade
public void renderStatusHTML(Writer out, String urlBase, int sortFlags) throws IOException
renderStatusHTML
in class CommSystemFacade
IOException
public SortedMap<String,Transport> getTransports()
getTransports
in class CommSystemFacade
public List<RouterAddress> createAddresses()
CommSystemFacade
createAddresses
in class CommSystemFacade
public void notifyReplaceAddress(RouterAddress udpAddr)
notifyReplaceAddress
in class CommSystemFacade
udpAddr
- may be null; or udpAddr's host/IP may be nullpublic void notifyRemoveAddress(RouterAddress address)
notifyRemoveAddress
in class CommSystemFacade
address
- may be null; or address's host/IP may be nullpublic void notifyRemoveAddress(boolean ipv6)
notifyRemoveAddress
in class CommSystemFacade
public void exemptIncoming(Hash peer)
exemptIncoming
in class CommSystemFacade
public boolean isExemptIncoming(String ip)
isExemptIncoming
in class CommSystemFacade
ip
- canonical stringpublic void removeExemption(String ip)
removeExemption
in class CommSystemFacade
ip
- canonical stringpublic void registerTransport(Transport t)
registerTransport
in class CommSystemFacade
public void unregisterTransport(Transport t)
unregisterTransport
in class CommSystemFacade
public DHSessionKeyBuilder.Factory getDHFactory()
getDHFactory
in class CommSystemFacade
public X25519KeyFactory getXDHFactory()
getXDHFactory
in class CommSystemFacade
public void initGeoIP()
initGeoIP
in class CommSystemFacade
public void queueLookup(byte[] ip)
queueLookup
in class CommSystemFacade
ip
- ipv4 or ipv6public String getOurCountry()
getOurCountry
in class CommSystemFacade
public boolean isInStrictCountry()
isInStrictCountry
in class CommSystemFacade
public boolean isInStrictCountry(Hash peer)
isInStrictCountry
in class CommSystemFacade
peer
- non-nullpublic boolean isInStrictCountry(RouterInfo ri)
isInStrictCountry
in class CommSystemFacade
ri
- non-nullpublic String getCountry(Hash peer)
getCountry
in class CommSystemFacade
peer
- not ourselves - use getOurCountry() for thatpublic String getCountryName(String c)
getCountryName
in class CommSystemFacade
public Map<String,String> getCountries()
getCountries
in class CommSystemFacade
public String renderPeerHTML(Hash peer)
renderPeerHTML
in class CommSystemFacade
public boolean isDummy()
isDummy
in class CommSystemFacade