Package net.i2p.router.tunnel
Class TunnelCreatorConfig
- java.lang.Object
-
- net.i2p.router.tunnel.TunnelCreatorConfig
-
- All Implemented Interfaces:
TunnelInfo
- Direct Known Subclasses:
PooledTunnelCreatorConfig
public abstract 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 See PooledTunnelCreatorConfig for the non-abstract class
-
-
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 Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-