org.objectweb.jonathan.libs.protocols.tcpip
Class TcpIpProtocol

java.lang.Object
  extended by org.objectweb.jonathan.libs.protocols.tcpip.TcpIpProtocol
All Implemented Interfaces:
Protocol
Direct Known Subclasses:
TcpIpProtocol

public class TcpIpProtocol
extends java.lang.Object
implements Protocol

This is an implementation of the Protocol interface representing the TCP/IP stack.


Field Summary
protected  ChunkFactory chunk_factory
           
protected  TcpIpConnectionMgr connection_mgr
          connection manager
protected  ContextFactory context_factory
           
protected  MarshallerFactory marshaller_factory
           
protected  Scheduler scheduler
           
 boolean verbose
          Indicates whether warning messages should be printed to stderr.
 
Constructor Summary
TcpIpProtocol(TcpIpConnectionMgr connection_mgr, Scheduler scheduler, ChunkFactory chunk_factory, MarshallerFactory mf, ContextFactory context_factory)
          Constructs a new instance of TcpIpProtocol.
 
Method Summary
 ProtocolGraph createProtocolGraph(ProtocolGraph[] lower, Context hints)
          Creates a new ProtocolGraph
 SessionIdentifier createSessionIdentifier(java.util.Properties info, SessionIdentifier[] next)
          Creates a new session identifier with the provided info.
 boolean isAnInvocationProtocol()
          Returns false: TcpIpProtocol cannot deal with invocations.
 boolean isLocal(IpSessionIdentifier tcp_session_id)
          Returns true if the provided session identifier corresponds to a local connection managed by this protocol.
 IpSessionIdentifier newSessionIdentifier(java.lang.String host, int port)
          Creates a new TcpIpSessionIdentifier.
 void setVerbose(boolean verbose)
          Used to set the verbiage level.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scheduler

protected Scheduler scheduler

chunk_factory

protected ChunkFactory chunk_factory

marshaller_factory

protected MarshallerFactory marshaller_factory

context_factory

protected ContextFactory context_factory

verbose

public boolean verbose
Indicates whether warning messages should be printed to stderr. This constant is defined under the name /jonathan/tcpip/verbose in the bootstrap context.


connection_mgr

protected TcpIpConnectionMgr connection_mgr
connection manager

Constructor Detail

TcpIpProtocol

public TcpIpProtocol(TcpIpConnectionMgr connection_mgr,
                     Scheduler scheduler,
                     ChunkFactory chunk_factory,
                     MarshallerFactory mf,
                     ContextFactory context_factory)
Constructs a new instance of TcpIpProtocol.

Parameters:
connection_mgr - a connection manager for this protocol;
scheduler - the kernel's scheduler;
chunk_factory - a chunk factory;
mf - a marshaller factory;
context_factory - a context factory
Throws:
JonathanException - if something goes wrong.
Method Detail

setVerbose

public void setVerbose(boolean verbose)
Used to set the verbiage level.

Parameters:
verbose - if true, turn on verbosity

isAnInvocationProtocol

public boolean isAnInvocationProtocol()
Returns false: TcpIpProtocol cannot deal with invocations.

Specified by:
isAnInvocationProtocol in interface Protocol
Returns:
false.

createProtocolGraph

public ProtocolGraph createProtocolGraph(ProtocolGraph[] lower,
                                         Context hints)
Creates a new ProtocolGraph

Specified by:
createProtocolGraph in interface Protocol
Parameters:
lower - lower-level protocol graphs. Ignored as TCP/IP is a leaf.
hints - may contain a "port" key/value pair.
Returns:
a new ProtocolGraph

newSessionIdentifier

public IpSessionIdentifier newSessionIdentifier(java.lang.String host,
                                                int port)
Creates a new TcpIpSessionIdentifier.

Parameters:
host - a port number;
port - an host name;
Returns:
a new TcpIpSessionIdentifier.

createSessionIdentifier

public SessionIdentifier createSessionIdentifier(java.util.Properties info,
                                                 SessionIdentifier[] next)
                                          throws JonathanException
Description copied from interface: Protocol
Creates a new session identifier with the provided info.

Specified by:
createSessionIdentifier in interface Protocol
Parameters:
info - information to create the session identifier.
next - session identifiers of the lower sessions?
Returns:
the created session identifier.
Throws:
JonathanException - if something goes wrong.

isLocal

public boolean isLocal(IpSessionIdentifier tcp_session_id)
Returns true if the provided session identifier corresponds to a local connection managed by this protocol.

Parameters:
tcp_session_id - a TcpIpSessionIdentifier.
Returns:
true if the provided session identifier corresponds to a local connection managed by this protocol, otherwise false.


Copyright © 2008 OW2 Consortium. All Rights Reserved.