Package org.eclipse.ecf.provider.generic
Class TCPServerSOContainer
- java.lang.Object
-
- org.eclipse.ecf.core.AbstractContainer
-
- org.eclipse.ecf.provider.generic.SOContainer
-
- org.eclipse.ecf.provider.generic.ServerSOContainer
-
- org.eclipse.ecf.provider.generic.TCPServerSOContainer
-
- All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable
,IContainer
,IIdentifiable
,IReliableContainer
,ISharedObjectContainer
,ISharedObjectContainerGroupManager
,IConnectRequestHandler
public class TCPServerSOContainer extends ServerSOContainer implements IConnectRequestHandler
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEFAULT_FALLBACK_PORT
static String
DEFAULT_HOST
static int
DEFAULT_KEEPALIVE
static String
DEFAULT_NAME
static int
DEFAULT_PORT
static String
DEFAULT_PROTOCOL
protected TCPServerSOContainerGroup
group
protected boolean
isSingle
protected int
keepAlive
-
Fields inherited from class org.eclipse.ecf.provider.generic.ServerSOContainer
connectHandlerPolicy
-
Fields inherited from class org.eclipse.ecf.provider.generic.SOContainer
config, DEFAULT_OBJECT_ARG_KEY, DEFAULT_OBJECT_ARGTYPES_KEY, groupManager, isClosing, loadingThreadGroup, policy, receiver, sharedObjectManager, sharedObjectMessageSerializer, sharedObjectThreadGroup
-
-
Constructor Summary
Constructors Constructor Description TCPServerSOContainer(ISharedObjectContainerConfig config)
TCPServerSOContainer(ISharedObjectContainerConfig config, int keepAlive)
TCPServerSOContainer(ISharedObjectContainerConfig config, int port, InetAddress bindAddress, String path, int keepAlive)
TCPServerSOContainer(ISharedObjectContainerConfig config, InetAddress bindAddress, int keepAlive)
TCPServerSOContainer(ISharedObjectContainerConfig config, TCPServerSOContainerGroup grp, int keepAlive)
TCPServerSOContainer(ISharedObjectContainerConfig config, TCPServerSOContainerGroup listener, String path, int keepAlive)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Dispose this IContainer instance.protected Serializable
getConnectDataFromInput(Serializable input)
static String
getDefaultServerURL()
protected int
getKeepAlive()
static String
getServerURL(String host, String name)
Serializable
handleConnectRequest(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)
Handle a connect request from remote clientprotected void
initialize(TCPServerSOContainerGroup listener, String path, int ka)
-
Methods inherited from class org.eclipse.ecf.provider.generic.ServerSOContainer
acceptNewClient, checkJoin, connect, disconnect, ejectAllGroupMembers, ejectGroupMember, forwardExcluding, forwardToRemote, getConnectedID, getConnectionForID, getIDForConnection, getSynchConnectionForID, handleLeaveGroupMessage, handleViewChangeMessage, isGroupManager, processDisconnect, queueContainerMessage, setConnectPolicy
-
Methods inherited from class org.eclipse.ecf.provider.generic.SOContainer
addNewRemoteMember, addSharedObject0, addSharedObjectAndWait, addSharedObjectWrapper, addToLoading, checkRemoteCreate, createContainerPropertiesForSharedObject, createRemoteSharedObjectConfig, createRemoteSharedObjectContext, createRemoteSharedObjectWrapper, createSharedObjectConfig, createSharedObjectContext, createSharedObjectWrapper, debug, defaultDeserializeSharedObjectMessage, defaultSerializeSharedObjectMessage, deserializeContainerMessage, deserializeSharedObjectMessage, destroySharedObject, disconnect, fireDelegateContainerEvent, forward, getAdapter, getArgsFromProperties, getArgTypesFromProperties, getClassLoaderForContainer, getClassLoaderForSharedObject, getConfig, getConnectNamespace, getGroupMemberIDs, getGroupMembershipLock, getID, getMaxGroupMembers, getMessageReceiver, getNewSharedObjectThread, getNextSequenceNumber, getOtherMemberIDs, getReceiver, getSharedObject, getSharedObjectIDs, getSharedObjectManager, getSharedObjectMessageSerializer, getSharedObjectWrapper, handleAsynchIOException, handleCreateMessage, handleCreateResponseMessage, handleLeave, handleSharedObjectDisposeMessage, handleSharedObjectMessage, handleUndeliveredSharedObjectMessage, handleUnidentifiedMessage, isClosing, load, moveFromLoadingToActive, notifySharedObjectActivated, notifySharedObjectDeactivated, printToSystemError, processAsynch, processSynch, removeFromLoading, removeRemoteMember, removeSharedObject, sendCreate, sendCreateResponse, sendCreateResponseSharedObjectMessage, sendCreateSharedObjectMessage, sendDispose, sendDisposeSharedObjectMessage, sendMessage, sendMessage, sendSharedObjectMessage, serialize, serializeSharedObjectMessage, setMaxGroupMembers, setRemoteAddPolicy, setSharedObjectMessageSerializer, traceStack, validateContainerMessage, verifySharedObjectMessageTarget, verifyToIDForSharedObjectMessage
-
Methods inherited from class org.eclipse.ecf.core.AbstractContainer
addListener, fireContainerEvent, getPasswordFromConnectContext, removeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.ecf.core.IContainer
addListener, removeListener
-
-
-
-
Field Detail
-
DEFAULT_PROTOCOL
public static final String DEFAULT_PROTOCOL
- See Also:
- Constant Field Values
-
DEFAULT_PORT
public static final int DEFAULT_PORT
-
DEFAULT_KEEPALIVE
public static final int DEFAULT_KEEPALIVE
-
DEFAULT_NAME
public static final String DEFAULT_NAME
-
DEFAULT_HOST
public static String DEFAULT_HOST
-
DEFAULT_FALLBACK_PORT
public static final boolean DEFAULT_FALLBACK_PORT
- Since:
- 4.2
-
keepAlive
protected int keepAlive
-
group
protected TCPServerSOContainerGroup group
-
isSingle
protected boolean isSingle
-
-
Constructor Detail
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, int port, InetAddress bindAddress, String path, int keepAlive) throws IOException
- Parameters:
config
- configport
- portbindAddress
- bind addresspath
- pathkeepAlive
- keep alive- Throws:
IOException
- if some problem creating- Since:
- 4.4
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, InetAddress bindAddress, int keepAlive) throws IOException, URISyntaxException
- Parameters:
config
- configbindAddress
- bind addresskeepAlive
- keep alive- Throws:
IOException
- if some problem creatingURISyntaxException
- if some problem creating- Since:
- 4.4
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, TCPServerSOContainerGroup grp, int keepAlive) throws IOException, URISyntaxException
- Throws:
IOException
URISyntaxException
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, TCPServerSOContainerGroup listener, String path, int keepAlive)
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config) throws IOException, URISyntaxException
- Throws:
IOException
URISyntaxException
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, int keepAlive) throws IOException, URISyntaxException
- Throws:
IOException
URISyntaxException
-
-
Method Detail
-
getKeepAlive
protected int getKeepAlive()
-
getDefaultServerURL
public static String getDefaultServerURL()
-
initialize
protected void initialize(TCPServerSOContainerGroup listener, String path, int ka)
-
dispose
public void dispose()
Description copied from interface:IContainer
Dispose this IContainer instance. The container instance will be made inactive after the completion of this method and will be unavailable for subsequent usage.- Specified by:
dispose
in interfaceIContainer
- Overrides:
dispose
in classServerSOContainer
-
handleConnectRequest
public Serializable handleConnectRequest(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)
Description copied from interface:IConnectRequestHandler
Handle a connect request from remote client- Specified by:
handleConnectRequest
in interfaceIConnectRequestHandler
- Parameters:
socket
- the Socket that the request came in ontarget
- the target that the request is intended fordata
- any data that was sent along with request (e.g. password or other authentication data)conn
- the connection instance that received the request- Returns:
- any data intended as a response. If null is returned, this typically means refusal of connect request
-
getConnectDataFromInput
protected Serializable getConnectDataFromInput(Serializable input) throws Exception
- Throws:
Exception
-
-