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 |
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 |
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
Copyright © 2001,2002 www.javagroups.com . All Rights Reserved.