Package com.biglybt.core.peermanager.nat
Class PeerNATTraverser
- java.lang.Object
-
- com.biglybt.core.peermanager.nat.PeerNATTraverser
-
- All Implemented Interfaces:
NATTraversalHandler
public class PeerNATTraverser extends java.lang.Object implements NATTraversalHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
PeerNATTraverser.PeerNATTraversal
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.List
active_requests
private int
attempted_count
private static int
BLOOM_REBUILD_PERIOD
private static int
BLOOM_REBUILD_TICKS
private static int
BLOOM_SIZE
private int
failed_negative_bloom
private int
failed_no_rendezvous
(package private) java.util.Map
initiators
private static LogIDs
LOGID
private static int
MAX_ACTIVE_REQUESTS
private static int
MAX_USAGE_PER_MIN
(package private) NATTraverser
nat_traverser
private BloomFilter
negative_result_bloom
private static int
OUTCOME_FAILED_NO_REND
private static int
OUTCOME_FAILED_OTHER
private static int
OUTCOME_SUCCESS
(package private) java.util.LinkedList
pending_requests
private static PeerNATTraverser
singleton
private static int
STATS_TICK_COUNT
private int
success_count
private static int
TIMER_PERIOD
(package private) Average
usage_average
private static int
USAGE_DURATION_SECS
private static int
USAGE_PERIOD
-
Constructor Summary
Constructors Modifier Constructor Description private
PeerNATTraverser(Core core)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
create(PeerNATInitiator initiator, java.net.InetSocketAddress target, PeerNATTraversalAdapter adapter)
java.lang.String
getName()
static PeerNATTraverser
getSingleton()
java.util.List
getTraversals(PeerNATInitiator initiator)
int
getType()
static void
initialise(Core core)
java.util.Map
process(java.net.InetSocketAddress originator, java.util.Map data)
void
register(PeerNATInitiator initiator)
protected void
removeRequest(PeerNATTraverser.PeerNATTraversal request, int outcome)
void
unregister(PeerNATInitiator initiator)
-
-
-
Field Detail
-
LOGID
private static final LogIDs LOGID
-
OUTCOME_SUCCESS
private static final int OUTCOME_SUCCESS
- See Also:
- Constant Field Values
-
OUTCOME_FAILED_NO_REND
private static final int OUTCOME_FAILED_NO_REND
- See Also:
- Constant Field Values
-
OUTCOME_FAILED_OTHER
private static final int OUTCOME_FAILED_OTHER
- See Also:
- Constant Field Values
-
singleton
private static PeerNATTraverser singleton
-
MAX_ACTIVE_REQUESTS
private static int MAX_ACTIVE_REQUESTS
-
TIMER_PERIOD
private static final int TIMER_PERIOD
- See Also:
- Constant Field Values
-
USAGE_PERIOD
private static final int USAGE_PERIOD
- See Also:
- Constant Field Values
-
USAGE_DURATION_SECS
private static final int USAGE_DURATION_SECS
- See Also:
- Constant Field Values
-
MAX_USAGE_PER_MIN
private static final int MAX_USAGE_PER_MIN
-
STATS_TICK_COUNT
private static final int STATS_TICK_COUNT
- See Also:
- Constant Field Values
-
nat_traverser
final NATTraverser nat_traverser
-
initiators
final java.util.Map initiators
-
pending_requests
final java.util.LinkedList pending_requests
-
active_requests
final java.util.List active_requests
-
usage_average
final Average usage_average
-
attempted_count
private int attempted_count
-
success_count
private int success_count
-
failed_no_rendezvous
private int failed_no_rendezvous
-
failed_negative_bloom
private int failed_negative_bloom
-
negative_result_bloom
private BloomFilter negative_result_bloom
-
BLOOM_SIZE
private static final int BLOOM_SIZE
-
BLOOM_REBUILD_PERIOD
private static final int BLOOM_REBUILD_PERIOD
- See Also:
- Constant Field Values
-
BLOOM_REBUILD_TICKS
private static final int BLOOM_REBUILD_TICKS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PeerNATTraverser
private PeerNATTraverser(Core core)
-
-
Method Detail
-
initialise
public static void initialise(Core core)
-
getSingleton
public static PeerNATTraverser getSingleton()
-
getType
public int getType()
- Specified by:
getType
in interfaceNATTraversalHandler
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceNATTraversalHandler
-
register
public void register(PeerNATInitiator initiator)
-
unregister
public void unregister(PeerNATInitiator initiator)
-
create
public void create(PeerNATInitiator initiator, java.net.InetSocketAddress target, PeerNATTraversalAdapter adapter)
-
getTraversals
public java.util.List getTraversals(PeerNATInitiator initiator)
-
removeRequest
protected void removeRequest(PeerNATTraverser.PeerNATTraversal request, int outcome)
-
process
public java.util.Map process(java.net.InetSocketAddress originator, java.util.Map data)
- Specified by:
process
in interfaceNATTraversalHandler
-
-