Property | Type | Description | |
---|---|---|---|
_connections | ConnectionList | ||
_iasf | IForwarderSelectorFactory | ||
_ito | ITunnelOverlap | ||
_local_tas | IList | ||
_node | |||
_oco | |||
_oco_trim_timeout | int | ||
_oco_trim_timer | FuzzyEvent | ||
_running | int | ||
_started | int |
Property | Type | Description |
---|
Method | Description | |
---|---|---|
CreateEdgeTo ( TransportAddress ta, EdgeCreationCallback ecb ) : void |
Does not immediately create an edge to a remote node, instead, it tells a timer to wait 5 seconds prior to attempting an edge.
|
|
GetNearest ( Brunet.Address addr, ConnectionList cons ) : List |
Returns our nearest neighbors to the specified address, which is in turn used to help communicate with tunnel peer.
|
|
HandleData ( MemBlock data, ISender return_path, object state ) : void |
Where data packets prepended with a tunnel come. Here we receive data as well as create new TunnelEdges.
|
|
HandleEdgeSend ( Edge from, ICopyable data ) : void |
Used to send data over the tunnel via forwarding senders using a randomly selected peer from our overlap list.
|
|
HandleRpc ( ISender caller, string method, IList args, object rs ) : void | ||
Start ( ) : void | ||
Stop ( ) : void | ||
TunnelEdgeListener ( |
||
TunnelEdgeListener ( |
||
TunnelEdgeListener ( |
Method | Description | |
---|---|---|
AttemptToCreateOverlap ( TunnelEdgeCallbackAction teca ) : void |
First we try to find a third party we can connect with for overlap, if that is successful, we attempt to connect to him, if that is successful, we create a new tunnel edge.
|
|
CloseHandler ( object o, |
When a TunnelEdge closes, we must remove it from our hashtable.
|
|
ConnectionHandler ( object o, |
We need to keep track of a current ConnectionList, so we listen to incoming connections. We also use this opportunity to rebuild our LocalTA.
|
|
CreateEdge ( TunnelEdgeCallbackAction teca, List |
Common code to Create an outgoing edge.
|
|
CreateEdgeTo ( TunnelEdgeCallbackAction teca ) : void |
The delayed callback for CreateEdgeTo, we create an edge if there is a potential non-tunnel overlap and allow the Linker to do the rest.
|
|
DisconnectionHandler ( object o, |
When a disconnection occurs, we must make sure that none of our tunnels use that faulty edge / connection any more.
|
|
FailedEdgeCreate ( TunnelEdgeCallbackAction teca ) : void |
Common code to signify the failure of edge creation.
|
|
OcoTrim ( System.DateTime now ) : void |
A callback to trim Overlapped Connections. We do this here, since we control Oco and he is essentially headless.
|
|
UpdateNeighborIntersection ( TunnelEdge from, IDictionary msg ) : void |
Whenever the node receives a new StatusMessage from a tunnel, we use this to build a consisting of the intersection of our peers creating a table of potential tunneling options. We close the edge if it is empty.
|
protected AttemptToCreateOverlap ( TunnelEdgeCallbackAction teca ) : void | ||
teca | TunnelEdgeCallbackAction | |
return | void |
protected CloseHandler ( object o, |
||
o | object | |
ea | ||
return | void |
protected ConnectionHandler ( object o, |
||
o | object | |
ea | ||
return | void |
protected CreateEdge ( TunnelEdgeCallbackAction teca, List |
||
teca | TunnelEdgeCallbackAction | |
overlap | List |
|
return | void |
public CreateEdgeTo ( TransportAddress ta, EdgeCreationCallback ecb ) : void | ||
ta | TransportAddress | |
ecb | EdgeCreationCallback | |
return | void |
protected CreateEdgeTo ( TunnelEdgeCallbackAction teca ) : void | ||
teca | TunnelEdgeCallbackAction | |
return | void |
protected DisconnectionHandler ( object o, |
||
o | object | |
ea | ||
return | void |
protected FailedEdgeCreate ( TunnelEdgeCallbackAction teca ) : void | ||
teca | TunnelEdgeCallbackAction | |
return | void |
public static GetNearest ( Brunet.Address addr, ConnectionList cons ) : List | ||
addr | Brunet.Address | |
cons | ConnectionList | |
return | List |
public HandleData ( MemBlock data, ISender return_path, object state ) : void | ||
data | MemBlock | |
return_path | ISender | |
state | object | |
return | void |
public HandleEdgeSend ( Edge from, ICopyable data ) : void | ||
from | Edge | |
data | ICopyable | |
return | void |
public HandleRpc ( ISender caller, string method, IList args, object rs ) : void | ||
caller | ISender | |
method | string | |
args | IList | |
rs | object | |
return | void |
protected OcoTrim ( System.DateTime now ) : void | ||
now | System.DateTime | |
return | void |
public TunnelEdgeListener ( |
||
node | ||
return | Brunet |
public TunnelEdgeListener ( |
||
node | ||
ito | ITunnelOverlap | |
return | Brunet |
public TunnelEdgeListener ( |
||
node | ||
ito | ITunnelOverlap | |
iasf | IForwarderSelectorFactory | |
return | Brunet |
protected UpdateNeighborIntersection ( TunnelEdge from, IDictionary msg ) : void | ||
from | TunnelEdge | |
msg | IDictionary | |
return | void |
protected IForwarderSelectorFactory _iasf | ||
return | IForwarderSelectorFactory |
protected OverlapConnectionOverlord,Brunet.Tunnel _oco | ||
return |