Package org.eclipse.spi.net4j
Class Connector
- java.lang.Object
-
- org.eclipse.net4j.util.event.Notifier
-
- org.eclipse.net4j.util.lifecycle.Lifecycle
-
- org.eclipse.net4j.util.lifecycle.ShareableLifecycle
-
- org.eclipse.net4j.util.container.Container<IChannel>
-
- org.eclipse.spi.net4j.ChannelMultiplexer
-
- org.eclipse.spi.net4j.Connector
-
- All Implemented Interfaces:
IBufferProvider
,IChannelMultiplexer
,IConnector
,ILocationAware
,ITransportConfigAware
,org.eclipse.net4j.util.collection.Closeable
,org.eclipse.net4j.util.concurrent.IExecutorServiceProvider
,org.eclipse.net4j.util.container.IContainer<IChannel>
,org.eclipse.net4j.util.event.INotifier
,org.eclipse.net4j.util.event.INotifier.INotifier2
,org.eclipse.net4j.util.lifecycle.IDeactivateable
,org.eclipse.net4j.util.lifecycle.ILifecycle
,org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
,org.eclipse.net4j.util.properties.IPropertiesContainer
,org.eclipse.net4j.util.security.INegotiatorAware
,org.eclipse.net4j.util.security.IUserAware
,InternalChannelMultiplexer
,InternalConnector
,InverseCloseable
public abstract class Connector extends ChannelMultiplexer implements InternalConnector
If the meaning of this type isn't clear, there really should be more of a description here...- Since:
- 2.0
- Author:
- Eike Stepper
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.buffer.IBufferProvider
IBufferProvider.Introspection, IBufferProvider.Notification
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.ILocationAware
ILocationAware.Location
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2
-
Nested classes/interfaces inherited from interface org.eclipse.spi.net4j.InternalChannelMultiplexer
InternalChannelMultiplexer.BufferMultiplexer
-
-
Field Summary
-
Fields inherited from interface org.eclipse.net4j.channel.IChannelMultiplexer
DEFAULT_OPEN_CHANNEL_TIMEOUT, NO_CHANNEL_TIMEOUT
-
Fields inherited from interface org.eclipse.net4j.connector.IConnector
NO_TIMEOUT
-
Fields inherited from interface org.eclipse.spi.net4j.InternalChannelMultiplexer
CONTEXT_MULTIPLEXER, RESERVED_CHANNEL
-
-
Constructor Summary
Constructors Constructor Description Connector()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
void
connect()
Synchronous connect with infinite timeout value.void
connect(long timeout)
Synchronous connect.void
connectAsync()
Asynchronous connect.protected abstract org.eclipse.net4j.util.security.INegotiationContext
createNegotiationContext()
protected void
deregisterChannelFromPeer(InternalChannel channel)
protected void
doActivate()
protected void
doBeforeActivate()
protected void
doBeforeOpenChannel(IProtocol<?> protocol)
protected void
doDeactivate()
short
getBufferCapacity()
Returns the capacity of the buffers provided byIBufferProvider.provideBuffer()
.ILocationAware.Location
getLocation()
org.eclipse.net4j.util.security.INegotiationContext
getNegotiationContext()
protected org.eclipse.net4j.util.security.NegotiationException
getNegotiationException()
org.eclipse.net4j.util.security.INegotiator
getNegotiator()
ConnectorState
getState()
Returns the current state of this connector.java.lang.String
getURL()
java.lang.String
getUserID()
protected void
initChannel(InternalChannel channel, IProtocol<?> protocol)
boolean
isClient()
boolean
isClosed()
boolean
isConnected()
Same as
.IConnector.getState()
==ConnectorState.CONNECTED
boolean
isConnecting()
boolean
isDeferredActivation()
boolean
isDisconnected()
boolean
isNegotiating()
boolean
isServer()
protected void
leaveConnecting()
IBuffer
provideBuffer()
Provides a buffer from thisBufferProvider
.void
retainBuffer(IBuffer buffer)
Retains a buffer to thisBufferProvider
.protected void
setNegotiationException(org.eclipse.net4j.util.security.NegotiationException negotiationException)
void
setNegotiator(org.eclipse.net4j.util.security.INegotiator negotiator)
void
setState(ConnectorState newState)
void
setUserID(java.lang.String userID)
void
waitForConnection(long timeout)
Blocks until
or the given timeout expired.IConnector.isConnected()
== true-
Methods inherited from class org.eclipse.spi.net4j.ChannelMultiplexer
closeChannel, createChannel, createProtocol, createProtocolFactoryKey, getChannel, getChannels, getConfig, getElements, getExecutorService, getOpenChannelTimeout, inverseClose, inverseCloseChannel, inverseOpenChannel, inverseOpenChannel, isEmpty, openChannel, openChannel, openChannel, properties, registerChannelWithPeer, setConfig, setOpenChannelTimeout
-
Methods inherited from class org.eclipse.net4j.util.container.Container
fireContainerEvent, fireContainerEvent, fireContainerEvent, fireElementAddedEvent, fireElementRemovedEvent, fireElementsAddedEvent, fireElementsRemovedEvent, fireEvent, newContainerEvent, newContainerEvent
-
Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, toString
-
Methods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.net4j.channel.IChannelMultiplexer
getChannels, getOpenChannelTimeout, openChannel, openChannel, openChannel, setOpenChannelTimeout
-
Methods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
-
Methods inherited from interface org.eclipse.spi.net4j.InternalChannelMultiplexer
closeChannel, multiplexChannel
-
Methods inherited from interface org.eclipse.net4j.ITransportConfigAware
getConfig, setConfig
-
-
-
-
Method Detail
-
getNegotiator
public org.eclipse.net4j.util.security.INegotiator getNegotiator()
- Specified by:
getNegotiator
in interfaceorg.eclipse.net4j.util.security.INegotiatorAware
-
setNegotiator
public void setNegotiator(org.eclipse.net4j.util.security.INegotiator negotiator)
- Specified by:
setNegotiator
in interfaceorg.eclipse.net4j.util.security.INegotiatorAware
-
getNegotiationContext
public org.eclipse.net4j.util.security.INegotiationContext getNegotiationContext()
-
isClient
public boolean isClient()
Description copied from interface:ILocationAware
- Specified by:
isClient
in interfaceILocationAware
-
isServer
public boolean isServer()
Description copied from interface:ILocationAware
- Specified by:
isServer
in interfaceILocationAware
-
getUserID
public java.lang.String getUserID()
- Specified by:
getUserID
in interfaceorg.eclipse.net4j.util.security.IUserAware
-
setUserID
public void setUserID(java.lang.String userID)
-
getState
public ConnectorState getState()
Description copied from interface:IConnector
Returns the current state of this connector.- Specified by:
getState
in interfaceIConnector
-
setState
public void setState(ConnectorState newState) throws ConnectorException
- Throws:
ConnectorException
-
isDisconnected
public boolean isDisconnected()
-
isConnecting
public boolean isConnecting()
-
isNegotiating
public boolean isNegotiating()
-
isConnected
public boolean isConnected()
Description copied from interface:IConnector
Same as
.IConnector.getState()
==ConnectorState.CONNECTED
- Specified by:
isConnected
in interfaceIConnector
-
connectAsync
public void connectAsync() throws ConnectorException
Description copied from interface:IConnector
Asynchronous connect. May leave thisIConnector
in a state where
.IConnector.isConnected()
== false- Specified by:
connectAsync
in interfaceIConnector
- Throws:
ConnectorException
- See Also:
IConnector.waitForConnection(long)
,IConnector.connect(long)
-
waitForConnection
public void waitForConnection(long timeout) throws ConnectorException
Description copied from interface:IConnector
Blocks until
or the given timeout expired.IConnector.isConnected()
== true- Specified by:
waitForConnection
in interfaceIConnector
- Parameters:
timeout
- The maximum number of milli seconds to block orIConnector.NO_TIMEOUT
to block indefinetely in case no connection occurs.- Throws:
ConnectorException
- Since:
- 4.0
-
connect
public void connect(long timeout) throws ConnectorException
Description copied from interface:IConnector
Synchronous connect. Blocks until
or the given timeout expired.IConnector.isConnected()
== true- Specified by:
connect
in interfaceIConnector
- Parameters:
timeout
- The maximum number of milli seconds to block orIConnector.NO_TIMEOUT
to block indefinetely in case no connection occurs.- Throws:
ConnectorException
- Since:
- 4.0
-
connect
public void connect() throws ConnectorException
Description copied from interface:IConnector
Synchronous connect with infinite timeout value. Same asconnect(NO_TIMEOUT)
.- Specified by:
connect
in interfaceIConnector
- Throws:
ConnectorException
- Since:
- 4.0
-
close
public void close()
- Specified by:
close
in interfaceorg.eclipse.net4j.util.collection.Closeable
-
isClosed
public boolean isClosed()
- Specified by:
isClosed
in interfaceorg.eclipse.net4j.util.collection.Closeable
-
getBufferCapacity
public short getBufferCapacity()
Description copied from interface:IBufferProvider
Returns the capacity of the buffers provided byIBufferProvider.provideBuffer()
.- Specified by:
getBufferCapacity
in interfaceIBufferProvider
-
provideBuffer
public IBuffer provideBuffer()
Description copied from interface:IBufferProvider
Provides a buffer from thisBufferProvider
.- Specified by:
provideBuffer
in interfaceIBufferProvider
-
retainBuffer
public void retainBuffer(IBuffer buffer)
Description copied from interface:IBufferProvider
Retains a buffer to thisBufferProvider
.- Specified by:
retainBuffer
in interfaceIBufferProvider
-
leaveConnecting
protected void leaveConnecting()
-
createNegotiationContext
protected abstract org.eclipse.net4j.util.security.INegotiationContext createNegotiationContext()
- Specified by:
createNegotiationContext
in classChannelMultiplexer
-
getNegotiationException
protected org.eclipse.net4j.util.security.NegotiationException getNegotiationException()
-
setNegotiationException
protected void setNegotiationException(org.eclipse.net4j.util.security.NegotiationException negotiationException)
-
initChannel
protected void initChannel(InternalChannel channel, IProtocol<?> protocol)
- Overrides:
initChannel
in classChannelMultiplexer
-
deregisterChannelFromPeer
protected void deregisterChannelFromPeer(InternalChannel channel) throws ChannelException
- Specified by:
deregisterChannelFromPeer
in classChannelMultiplexer
- Throws:
ChannelException
-
getLocation
public ILocationAware.Location getLocation()
Description copied from interface:ILocationAware
- Specified by:
getLocation
in interfaceILocationAware
-
getURL
public java.lang.String getURL()
- Specified by:
getURL
in interfaceIConnector
-
isDeferredActivation
public boolean isDeferredActivation()
- Specified by:
isDeferredActivation
in interfaceorg.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
- Overrides:
isDeferredActivation
in classorg.eclipse.net4j.util.lifecycle.Lifecycle
- Since:
- 4.1
-
doBeforeOpenChannel
protected void doBeforeOpenChannel(IProtocol<?> protocol)
- Overrides:
doBeforeOpenChannel
in classChannelMultiplexer
-
doBeforeActivate
protected void doBeforeActivate() throws java.lang.Exception
- Overrides:
doBeforeActivate
in classorg.eclipse.net4j.util.lifecycle.Lifecycle
- Throws:
java.lang.Exception
-
doActivate
protected void doActivate() throws java.lang.Exception
- Overrides:
doActivate
in classorg.eclipse.net4j.util.lifecycle.Lifecycle
- Throws:
java.lang.Exception
-
doDeactivate
protected void doDeactivate() throws java.lang.Exception
- Overrides:
doDeactivate
in classChannelMultiplexer
- Throws:
java.lang.Exception
-
-