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 booleanDEFAULT_FALLBACK_PORTstatic StringDEFAULT_HOSTstatic intDEFAULT_KEEPALIVEstatic StringDEFAULT_NAMEstatic intDEFAULT_PORTstatic StringDEFAULT_PROTOCOLprotected TCPServerSOContainerGroupgroupprotected booleanisSingleprotected intkeepAlive-
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 voiddispose()Dispose this IContainer instance.protected SerializablegetConnectDataFromInput(Serializable input)static StringgetDefaultServerURL()protected intgetKeepAlive()static StringgetServerURL(String host, String name)SerializablehandleConnectRequest(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)Handle a connect request from remote clientprotected voidinitialize(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:
IOExceptionURISyntaxException
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, TCPServerSOContainerGroup listener, String path, int keepAlive)
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config) throws IOException, URISyntaxException
- Throws:
IOExceptionURISyntaxException
-
TCPServerSOContainer
public TCPServerSOContainer(ISharedObjectContainerConfig config, int keepAlive) throws IOException, URISyntaxException
- Throws:
IOExceptionURISyntaxException
-
-
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:IContainerDispose 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:
disposein interfaceIContainer- Overrides:
disposein classServerSOContainer
-
handleConnectRequest
public Serializable handleConnectRequest(Socket socket, String target, Serializable data, ISynchAsynchConnection conn)
Description copied from interface:IConnectRequestHandlerHandle a connect request from remote client- Specified by:
handleConnectRequestin 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
-
-