JavaGroups.JavaStack.Protocols
Class TUNNEL
java.lang.Object
|
+--JavaGroups.JavaStack.Protocol
|
+--JavaGroups.JavaStack.Protocols.TUNNEL
- public class TUNNEL
- extends Protocol
- implements java.lang.Runnable
Replacement for UDP. Instead of sending packets via UDP, a TCP connection is opened to a Router
(using the RouterStub client-side stub),
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 Router which
distributes it to all connected TUNNELs in this group. Incoming traffic received from Router 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 Router to
send traffic from an outside host to a host inside the firewall.
| Methods inherited from class JavaGroups.JavaStack.Protocol |
GetDownProtocol,
GetProperties,
GetUpProtocol,
PassDown,
PassUp,
ProvidedDownServices,
ProvidedUpServices,
RequiredDownServices,
RequiredUpServices,
Reset,
SetDownProtocol,
SetProtocolStack,
SetUpProtocol,
StartDownHandler,
StartUpHandler,
StopInternal |
| Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
TUNNEL
public TUNNEL()
toString
public java.lang.String toString()
- Overrides:
- toString in class java.lang.Object
HandleIncomingMessage
public void HandleIncomingMessage(Message msg)
run
public void run()
- Specified by:
- run in interface java.lang.Runnable
GetName
public java.lang.String GetName()
- Overrides:
- GetName in class Protocol
SetProperties
public boolean SetProperties(java.util.Properties props)
- Setup the Protocol instance acording to the configuration string
- Overrides:
- SetProperties in class Protocol
Up
public void Up(Event evt)
- Description copied from class: Protocol
- An event was received from the layer below. Usually the current layer will want to examine
the event type and - depending on its type - perform some computation
(e.g. removing headers from a MSG event type, or updating the internal membership list
when receiving a VIEW_CHANGE event).
Finally the event is either a) discarded, or b) an event is sent down
the stack using
PassDown or c) the event (or another event) is sent up
the stack using PassUp.
- Overrides:
- Up in class Protocol
Down
public void Down(Event evt)
- Caller by the layer above this layer. We just pass it on to the router.
- Overrides:
- Down in class Protocol