Package net.i2p.router.tunnel
Class TunnelCreatorConfig
- java.lang.Object
-
- net.i2p.router.tunnel.TunnelCreatorConfig
-
- All Implemented Interfaces:
TunnelInfo
- Direct Known Subclasses:
PooledTunnelCreatorConfig
public class TunnelCreatorConfig extends Object implements TunnelInfo
Coordinate the info that the tunnel creator keeps track of, including what peers are in the tunnel and what their configuration is
-
-
Field Summary
Fields Modifier and Type Field Description protected RouterContext_context
-
Constructor Summary
Constructors Constructor Description TunnelCreatorConfig(RouterContext ctx, int length, boolean isInbound)For exploratory only (null destination)TunnelCreatorConfig(RouterContext ctx, int length, boolean isInbound, Hash destination)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static Stringformat(long date)HopConfiggetConfig(int hop)retrieve the config for the given hop.HashgetDestination()If this is a client tunnel, what destination is it for?HashgetEndpoint()For conveniencelonggetExpiration()HashgetFarEnd()For convenienceHashgetGateway()For convenienceintgetLength()How many hops are there in the tunnel? INCLUDING US.PropertiesgetOptions()HashgetPeer(int hop)retrieve the peer at the given hop.intgetPriority()Outbound message priority - for outbound tunnels onlyintgetProcessedMessagesCount()TunnelIdgetReceiveTunnelId(int hop)retrieve the tunnelId that the given hop receives messages on.longgetReplyMessageId()new style reply message idList<Integer>getReplyOrder()component ordering in the new style requestTunnelIdgetSendTunnelId(int hop)retrieve the tunnelId that the given hop sends messages on.booleangetTunnelFailed()intgetTunnelFailures()longgetVerifiedBytesTransferred()we know for sure that this many bytes travelled through the tunnel in its lifetimevoidincrementProcessedMessages()take note of a message being pumped through this tunnelvoidincrementVerifiedBytesTransferred(int bytes)This calls profile manager tunnelDataPushed1m() for each peerbooleanisInbound()is this an inbound tunnel?voidsetExpiration(long when)voidsetPeer(int hop, Hash peer)voidsetPriority(int priority)Outbound message priority - for outbound tunnels onlyvoidsetReplyMessageId(long id)voidsetReplyOrder(List<Integer> order)voidsetReused()Note that we reused this tunnelvoidtestSuccessful(int ms)take note that the tunnel was able to measurably Do Good in the given timeStringtoString()booleantunnelFailed()The tunnel failed a test, so (maybe) stop using itbooleanwasReused()Did we reuse this tunnel?
-
-
-
Field Detail
-
_context
protected final RouterContext _context
-
-
Constructor Detail
-
TunnelCreatorConfig
public TunnelCreatorConfig(RouterContext ctx, int length, boolean isInbound)
For exploratory only (null destination)- Parameters:
length- 1 minimum (0 hop is length 1)
-
TunnelCreatorConfig
public TunnelCreatorConfig(RouterContext ctx, int length, boolean isInbound, Hash destination)
- Parameters:
length- 1 minimum (0 hop is length 1)destination- null for exploratory
-
-
Method Detail
-
getLength
public int getLength()
How many hops are there in the tunnel? INCLUDING US. i.e. one more than the TunnelCreatorConfig length.- Specified by:
getLengthin interfaceTunnelInfo
-
getOptions
public Properties getOptions()
-
getConfig
public HopConfig getConfig(int hop)
retrieve the config for the given hop. the gateway is hop 0.
-
getReceiveTunnelId
public TunnelId getReceiveTunnelId(int hop)
retrieve the tunnelId that the given hop receives messages on. the gateway is hop 0.- Specified by:
getReceiveTunnelIdin interfaceTunnelInfo
-
getSendTunnelId
public TunnelId getSendTunnelId(int hop)
retrieve the tunnelId that the given hop sends messages on. the gateway is hop 0.- Specified by:
getSendTunnelIdin interfaceTunnelInfo
-
getPeer
public Hash getPeer(int hop)
retrieve the peer at the given hop. the gateway is hop 0- Specified by:
getPeerin interfaceTunnelInfo
-
setPeer
public void setPeer(int hop, Hash peer)
-
getGateway
public Hash getGateway()
For convenience- Specified by:
getGatewayin interfaceTunnelInfo- Returns:
- getPeer(0)
- Since:
- 0.8.9
-
getEndpoint
public Hash getEndpoint()
For convenience- Specified by:
getEndpointin interfaceTunnelInfo- Returns:
- getPeer(getLength() - 1)
- Since:
- 0.8.9
-
getFarEnd
public Hash getFarEnd()
For convenience- Specified by:
getFarEndin interfaceTunnelInfo- Returns:
- isInbound() ? getGateway() : getEndpoint()
- Since:
- 0.8.9
-
isInbound
public boolean isInbound()
is this an inbound tunnel?- Specified by:
isInboundin interfaceTunnelInfo
-
getDestination
public Hash getDestination()
If this is a client tunnel, what destination is it for?- Specified by:
getDestinationin interfaceTunnelInfo- Returns:
- null for exploratory
-
getExpiration
public long getExpiration()
- Specified by:
getExpirationin interfaceTunnelInfo
-
setExpiration
public void setExpiration(long when)
-
getReplyMessageId
public long getReplyMessageId()
new style reply message id
-
setReplyMessageId
public void setReplyMessageId(long id)
-
incrementProcessedMessages
public void incrementProcessedMessages()
take note of a message being pumped through this tunnel
-
getProcessedMessagesCount
public int getProcessedMessagesCount()
- Specified by:
getProcessedMessagesCountin interfaceTunnelInfo
-
incrementVerifiedBytesTransferred
public void incrementVerifiedBytesTransferred(int bytes)
This calls profile manager tunnelDataPushed1m() for each peer- Specified by:
incrementVerifiedBytesTransferredin interfaceTunnelInfo
-
getVerifiedBytesTransferred
public long getVerifiedBytesTransferred()
Description copied from interface:TunnelInfowe know for sure that this many bytes travelled through the tunnel in its lifetime- Specified by:
getVerifiedBytesTransferredin interfaceTunnelInfo
-
tunnelFailed
public boolean tunnelFailed()
The tunnel failed a test, so (maybe) stop using it
-
getTunnelFailed
public boolean getTunnelFailed()
-
getTunnelFailures
public int getTunnelFailures()
-
testSuccessful
public void testSuccessful(int ms)
Description copied from interface:TunnelInfotake note that the tunnel was able to measurably Do Good in the given time- Specified by:
testSuccessfulin interfaceTunnelInfo
-
wasReused
public boolean wasReused()
Did we reuse this tunnel?- Specified by:
wasReusedin interfaceTunnelInfo- Since:
- 0.8.11
-
setReused
public void setReused()
Note that we reused this tunnel- Specified by:
setReusedin interfaceTunnelInfo- Since:
- 0.8.11
-
getPriority
public int getPriority()
Outbound message priority - for outbound tunnels only- Returns:
- -25 to +25, default 0
- Since:
- 0.9.4
-
setPriority
public void setPriority(int priority)
Outbound message priority - for outbound tunnels only- Parameters:
priority- -25 to +25, default 0- Since:
- 0.9.4
-
format
static String format(long date)
-
-