TransportEventListener
public class TransportManager extends Object implements TransportEventListener
Modifier and Type | Class | Description |
---|---|---|
(package private) static class |
TransportManager.Port |
Modifier and Type | Field | Description |
---|---|---|
static String |
PROP_ENABLE_NTCP |
default true
|
static String |
PROP_ENABLE_UDP |
default true
|
static String |
PROP_ENABLE_UPNP |
default true
|
Constructor | Description |
---|---|
TransportManager(RouterContext context) |
Modifier and Type | Method | Description |
---|---|---|
(package private) 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.
|
(package private) int |
countActiveSendPeers() |
How many peers are we currently connected to, that we have
sent a message to in the last minute.
|
(package private) void |
externalAddressReceived(Transport.AddressSource source,
byte[] ip,
int port) |
Initialize from interfaces, and callback from UPnP or SSU.
|
(package private) void |
externalAddressRemoved(Transport.AddressSource source,
boolean ipv6) |
Remove all ipv4 or ipv6 addresses.
|
(package private) void |
forwardPortStatus(String style,
byte[] ip,
int port,
int externalPort,
boolean success,
String reason) |
callback from UPnP
|
(package private) List<RouterAddress> |
getAddresses() |
This forces a rebuild
|
(package private) TransportBid |
getBid(OutNetMessage msg) |
|
(package private) List<TransportBid> |
getBids(OutNetMessage msg) |
|
(package private) Vector<Long> |
getClockSkews() |
Return our peer clock skews on all transports.
|
(package private) DHSessionKeyBuilder.Factory |
getDHFactory() |
Hook for pluggable transport creation.
|
Set<Hash> |
getEstablished() |
|
(package private) byte[] |
getIP(Hash peer) |
IP of the peer from the last connection (in or out, any transport).
|
(package private) List<String> |
getMostRecentErrorMessages() |
|
(package private) TransportBid |
getNextBid(OutNetMessage msg) |
|
(package private) CommSystemFacade.Status |
getReachabilityStatus() |
Previously returned short, now enum as of 0.9.20
|
(package private) Transport |
getTransport(String style) |
|
(package private) int |
getTransportCount() |
|
(package private) SortedMap<String,Transport> |
getTransports() |
|
(package private) boolean |
haveHighOutboundCapacity() |
Are all transports well below their outbound connection limit
Use for throttling in the router.
|
(package private) boolean |
haveInboundCapacity(int pct) |
Is at least one transport below its inbound connection limit + some margin
Use for throttling in the router.
|
(package private) boolean |
haveOutboundCapacity(int pct) |
Is at least one transport below its outbound connection limit + some margin
Use for throttling in the router.
|
(package private) void |
initializeAddress() |
Notify all transports of ALL routable interface addresses, including IPv6.
|
(package private) boolean |
isBacklogged(Hash peer) |
|
(package private) boolean |
isEstablished(Hash peer) |
|
static boolean |
isNTCPEnabled(RouterContext ctx) |
|
(package private) void |
mayDisconnect(Hash peer) |
Tell the transports that we may disconnect from this peer.
|
void |
messageReceived(I2NPMessage message,
RouterIdentity fromRouter,
Hash fromRouterHash) |
Message received
|
(package private) void |
recheckReachability() |
Deprecated.
unused
|
(package private) void |
registerAndStart(Transport t) |
Pluggable transports.
|
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.
|
(package private) void |
restart() |
|
(package private) void |
shutdown() |
Cannot be restarted.
|
(package private) void |
startListening() |
|
(package private) void |
stopAndUnregister(Transport t) |
Pluggable transports.
|
(package private) void |
stopListening() |
Can be restarted.
|
void |
transportAddressChanged() |
TransportEventListener
calls UPnPManager rescan() and update()
|
(package private) boolean |
wasUnreachable(Hash peer) |
Was the peer UNreachable (outbound only) on any transport,
based on the last time we tried it for each transport?
This is NOT reset if the peer contacts us.
|
public static final String PROP_ENABLE_UDP
public static final String PROP_ENABLE_NTCP
public static final String PROP_ENABLE_UPNP
public TransportManager(RouterContext context)
void registerAndStart(Transport t)
void stopAndUnregister(Transport t)
DHSessionKeyBuilder.Factory getDHFactory()
public static boolean isNTCPEnabled(RouterContext ctx)
void initializeAddress()
void externalAddressReceived(Transport.AddressSource source, byte[] ip, int port)
void externalAddressRemoved(Transport.AddressSource source, boolean ipv6)
void forwardPortStatus(String style, byte[] ip, int port, int externalPort, boolean success, String reason)
void startListening()
void restart()
void stopListening()
void shutdown()
int getTransportCount()
SortedMap<String,Transport> getTransports()
int countActivePeers()
int countActiveSendPeers()
boolean haveOutboundCapacity(int pct)
pct
- percent of limit 0-100boolean haveHighOutboundCapacity()
boolean haveInboundCapacity(int pct)
pct
- percent of limit 0-100Vector<Long> getClockSkews()
CommSystemFacade.Status getReachabilityStatus()
@Deprecated void recheckReachability()
boolean isBacklogged(Hash peer)
boolean isEstablished(Hash peer)
void mayDisconnect(Hash peer)
boolean wasUnreachable(Hash peer)
byte[] getIP(Hash peer)
List<RouterAddress> getAddresses()
TransportBid getBid(OutNetMessage msg)
List<TransportBid> getBids(OutNetMessage msg)
TransportBid getNextBid(OutNetMessage msg)
public void messageReceived(I2NPMessage message, RouterIdentity fromRouter, Hash fromRouterHash)
messageReceived
in interface TransportEventListener
message
- non-nullfromRouter
- may be nullfromRouterHash
- may be null, calculated from fromRouter if nullpublic void transportAddressChanged()
transportAddressChanged
in interface TransportEventListener
public void renderStatusHTML(Writer out, String urlBase, int sortFlags) throws IOException
IOException