org.javagroups.protocols
Class TUNNEL

java.lang.Object
  |
  +--org.javagroups.stack.Protocol
        |
        +--org.javagroups.protocols.TUNNEL
All Implemented Interfaces:
java.lang.Runnable

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.


Fields inherited from class org.javagroups.stack.Protocol
down_handler, down_prot, down_queue, down_thread, observer, props, stack, up_handler, up_prot, up_queue, up_thread
 
Constructor Summary
TUNNEL()
           
 
Method Summary
 void down(Event evt)
          Caller by the layer above this layer.
 java.lang.String getName()
           
 void handleIncomingMessage(Message msg)
           
 void run()
           
 boolean setProperties(java.util.Properties props)
          Setup the Protocol instance acording to the configuration string
 java.lang.String toString()
           
 void up(Event evt)
          An event was received from the layer below.
 
Methods inherited from class org.javagroups.stack.Protocol
getDownProtocol, getDownQueue, getProperties, getUpProtocol, getUpQueue, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setPropertiesInternal, setProtocolStack, setUpProtocol, startDownHandler, startUpHandler, stopInternal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TUNNEL

public TUNNEL()
Method Detail

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


Copyright © 2001,2002 www.javagroups.com . All Rights Reserved.