All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class JavaGroups.JavaStack.Protocols.TUNNEL

java.lang.Object
   |
   +----JavaGroups.JavaStack.Protocol
           |
           +----JavaGroups.JavaStack.Protocols.TUNNEL

public class TUNNEL
extends Protocol
implements Runnable
Replacement for UDP. Instead of sending packets via UDP, a TCP connection is opened to a JRouter, the IP address/port of which was given using channel properties router_host and router_port. All outgoing traffic is sent via this TCP socket to the JRouter which distributes it to all connected TUNNELs in this group. Incoming traffic received from JRouter will simply be passed up the stack.

A TUNNEL layer can be used to penetrate a firewall, most firewalls allow creating TCP connections to the outside world, however, they do not permit outside hosts to initiate a TCP connection to a host inside the firewall. Therefore, the connection created by the inside host is reused by JRouter to send traffic from an outside host to a host inside the firewall.


Constructor Index

 o TUNNEL()

Method Index

 o Down(Event)
Caller by the layer above this layer.
 o GetName()
 o HandleIncomingMessage(Message)
 o run()
 o SetProperties(Properties)
Setup the Protocol instance acording to the configuration string
 o toString()
 o Up(Event)
An event was received from the layer below.

Constructors

 o TUNNEL
 public TUNNEL()

Methods

 o toString
 public String toString()
Overrides:
toString in class Object
 o HandleIncomingMessage
 public synchronized void HandleIncomingMessage(Message msg)
 o run
 public void run()
 o GetName
 public String GetName()
Overrides:
GetName in class Protocol
 o SetProperties
 public boolean SetProperties(Properties props)
Setup the Protocol instance acording to the configuration string

Overrides:
SetProperties in class Protocol
 o Up
 public void Up(Event evt)
An event was received from the layer below.

Overrides:
Up in class Protocol
 o Down
 public synchronized void Down(Event evt)
Caller by the layer above this layer. We just call Route(msg) to pass it on to the remote router.

Overrides:
Down in class Protocol

All Packages  Class Hierarchy  This Package  Previous  Next  Index