Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.remoting.transport.bisocket
Class BisocketClientInvoker

    java.lang.Object
      org.jboss.remoting.AbstractInvoker
          org.jboss.remoting.MicroRemoteClientInvoker
              org.jboss.remoting.RemoteClientInvoker
                  org.jboss.remoting.transport.socket.MicroSocketClientInvoker
                      org.jboss.remoting.transport.socket.SocketClientInvoker
                          org.jboss.remoting.transport.bisocket.BisocketClientInvoker

All Implemented Interfaces:
  Invoker, BidirectionalClientInvoker, ClientInvoker

Direct Known Subclasses:
  SSLBisocketClientInvoker

    public class BisocketClientInvoker

extends SocketClientInvoker
implements BidirectionalClientInvoker

The bisocket transport, an extension of the socket transport, is designed to allow a callback server to function behind a firewall. All connections are created by a Socket constructor or factory on the client side connecting to a ServerSocket on the server side. When a callback client invoker on the server side needs to open a connection to the callback server, it requests a connection by sending a request message over a control connection to the client side. Because all connections are created in one direction, the bisocket transport is asymmetric, in the sense that client invokers and server invokers behave differently on the client side and on the server side.

Author:
  Ron Sigal

Nested Class Summary

Nested classes/interfaces inherited from class org.jboss.remoting.AbstractInvoker
`AbstractInvoker.CallbackLocatorHolder`

Field Summary
`protected boolean` | `isCallbackInvoker`
`protected java.lang.String` | `listenerId`
`protected org.jboss.remoting.transport.bisocket.BisocketClientInvoker.BooleanHolder` | `pingFailed`

Fields inherited from class org.jboss.remoting.transport.socket.SocketClientInvoker
`SO_TIMEOUT_DEFAULT, SO_TIMEOUT_FLAG, timeout`

Fields inherited from class org.jboss.remoting.transport.socket.MicroSocketClientInvoker
`addr, address, CLIENT_SOCKET_CLASS_FLAG, clientSocketClass, clientSocketClassName, connectionPools, deserializeTime, enableTcpNoDelay, getSocketTime, MAX_CALL_RETRIES, MAX_POOL_SIZE, MAX_POOL_SIZE_FLAG, MAX_RETRIES, maxPoolSize, numberOfCallRetries, numberOfRetries, pool, port, readTime, semaphore, semaphores, serializeTime, shouldCheckConnection, TCP_NODELAY_DEFAULT, TCP_NODELAY_FLAG, usedPoolLock, writeTime`

Fields inherited from class org.jboss.remoting.MicroRemoteClientInvoker
`connected`

Fields inherited from class org.jboss.remoting.AbstractInvoker
`classbyteloader, configuration, localServerLocators, locator, serializationType, socketFactory, socketFactoryCreatedFromSSLParameters`

Constructor Summary
`BisocketClientInvoker(InvokerLocator locator)`
`BisocketClientInvoker(InvokerLocator locator, java.util.Map config)`

Method Summary
`protected java.net.Socket` | `createSocket(java.lang.String address, int port, int timeout)`
`InvokerLocator` | `getCallbackLocator(java.util.Map metadata)` Gets the locator to be used for callbacks when want do not want to establish a new physical connectiong from the server to the client.
`int` | `getMaxRetries()`
`int` | `getPingFrequency()`
`protected void` | `handleConnect()` Subclasses must implement this method to provide a hook to connect to the remote server, if this applies to the specific transport.
`protected void` | `handleDisconnect()` Subclasses must implement this method to provide a hook to disconnect from the remote server, if this applies to the specific transport.
`void` | `setMaxRetries(int maxRetries)`
`void` | `setPingFrequency(int pingFrequency)`
`protected java.lang.Object` | `transport(java.lang.String sessionId, java.lang.Object invocation, java.util.Map metadata, Marshaller marshaller, UnMarshaller unmarshaller)`

Methods inherited from class org.jboss.remoting.transport.socket.SocketClientInvoker
`configureParameters, createClientSocket, createServerAddress, getPooledConnection, getTimeout, handleException, toString`

Methods inherited from class org.jboss.remoting.transport.socket.MicroSocketClientInvoker
`checkingConnection, clearPool, clearPools, disconnect, finalize, flushConnectionPool, getConnection, getDefaultDataType, getNumberOfAvailableConnections, getNumberOfCallRetries, getNumberOfRetries, getNumberOfUsedConnections, getReuseAddress, getServerHostName, initPool, setNumberOfCallRetries, setNumberOfRetries, setReuseAddress, setup`

Methods inherited from class org.jboss.remoting.MicroRemoteClientInvoker
`connect, establishLease, getLeasePeriod, getMarshaller, getSessionId, getUnMarshaller, invoke, isConnected, postProcess, preProcess, setMarshaller, setUnMarshaller, terminateLease`

Methods inherited from class org.jboss.remoting.AbstractInvoker
`addClientLocator, createSocketFactory, getClassLoader, getClientLocator, getClientLocators, getLocator, getSerializationType, getSocketFactory, isCompleteSocketFactory, isSocketFactoryCreatedFromSSLParameters, needsCustomSSLConfiguration, setClassLoader, setSerializationType, setSocketFactory, wrapSocketFactory`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.jboss.remoting.transport.ClientInvoker
`addClientLocator, connect, disconnect, establishLease, getClientLocator, getClientLocators, getLeasePeriod, getMarshaller, getSocketFactory, getUnMarshaller, invoke, isConnected, setMarshaller, setSocketFactory, setUnMarshaller, terminateLease`

Methods inherited from interface org.jboss.remoting.Invoker
`getLocator`

Field Detail

### listenerId

    protected java.lang.String listenerId

### isCallbackInvoker

    protected boolean isCallbackInvoker

### pingFailed

    protected org.jboss.remoting.transport.bisocket.BisocketClientInvoker.BooleanHolder pingFailed

Constructor Detail

### BisocketClientInvoker

    public BisocketClientInvoker(InvokerLocator locator)
                          throws java.io.IOException

Throws:
  `java.io.IOException`

### BisocketClientInvoker

    public BisocketClientInvoker(InvokerLocator locator,
                                 java.util.Map config)
                          throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### getMaxRetries

    public int getMaxRetries()

### setMaxRetries

    public void setMaxRetries(int maxRetries)

### getPingFrequency

    public int getPingFrequency()

### setPingFrequency

    public void setPingFrequency(int pingFrequency)

### handleConnect

    protected void handleConnect()
                          throws ConnectionFailedException

  Description copied from class: `MicroRemoteClientInvoker`
  Subclasses must implement this method to provide a hook to connect to the remote server, if this applies to the specific transport. However, in some transport implementations, this may not make must difference since the connection is not persistent among invocations, such as SOAP. In these cases, the method should silently return without any processing.

  Overrides:
    `handleConnect` in class `MicroSocketClientInvoker`
  Throws:
    `ConnectionFailedException`

### handleDisconnect

    protected void handleDisconnect()

  Description copied from class: `MicroRemoteClientInvoker`
  Subclasses must implement this method to provide a hook to disconnect from the remote server, if this applies to the specific transport. However, in some transport implementations, this may not make must difference since the connection is not persistent among invocations, such as SOAP. In these cases, the method should silently return without any processing.

  Overrides:
    `handleDisconnect` in class `MicroSocketClientInvoker`

### transport

    protected java.lang.Object transport(java.lang.String sessionId,
                                         java.lang.Object invocation,
                                         java.util.Map metadata,
                                         Marshaller marshaller,
                                         UnMarshaller unmarshaller)
                                  throws java.io.IOException,
                                         ConnectionFailedException,
                                         java.lang.ClassNotFoundException

  Overrides:
    `transport` in class `MicroSocketClientInvoker`
  Throws:
    `java.io.IOException`
    `ConnectionFailedException`
    `java.lang.ClassNotFoundException`

### createSocket

    protected java.net.Socket createSocket(java.lang.String address,
                                           int port,
                                           int timeout)
                                    throws java.io.IOException

  Overrides:
    `createSocket` in class `SocketClientInvoker`
  Throws:
    `java.io.IOException`

### getCallbackLocator

    public InvokerLocator getCallbackLocator(java.util.Map metadata)

  Description copied from interface: `BidirectionalClientInvoker`
  Gets the locator to be used for callbacks when want do not want to establish a new physical connectiong from the server to the client.

  Specified by:
    `getCallbackLocator` in interface `BidirectionalClientInvoker`
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright ? 1998-2005 JBoss Inc . All Rights Reserved.