Package org.eclipse.spi.net4j
Class Channel
- java.lang.Object
-
- org.eclipse.net4j.util.event.Notifier
-
- org.eclipse.net4j.util.lifecycle.Lifecycle
-
- org.eclipse.spi.net4j.Channel
-
- All Implemented Interfaces:
IBufferHandler,IBufferProvider,IChannel,ILocationAware,org.eclipse.net4j.util.collection.Closeable,org.eclipse.net4j.util.concurrent.IExecutorServiceProvider,org.eclipse.net4j.util.container.IManagedContainerProvider,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.security.IUserAware,InternalChannel
public class Channel extends org.eclipse.net4j.util.lifecycle.Lifecycle implements InternalChannel, org.eclipse.net4j.util.concurrent.IExecutorServiceProvider, org.eclipse.net4j.util.container.IManagedContainerProvider
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 Modifier and Type Class Description protected classChannel.ReceiverWorkDeprecated.As of 4.10 scheduled for future removal.protected classChannel.ReceiveSerializerDeprecated.As of 4.4 scheduled for future removal.protected classChannel.SendQueueA queue that holds buffers that shall be sent.-
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.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.InternalChannel
InternalChannel.CountersChangedEvent, InternalChannel.SendQueueEvent
-
-
Constructor Summary
Constructors Constructor Description Channel()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()protected Channel.ReceiverWorkcreateReceiverWork(IBuffer buffer)Deprecated.As of 4.10 scheduled for future removal.protected voiddoActivate()protected voiddoBeforeActivate()protected voiddoDeactivate()shortgetBufferCapacity()Returns the capacity of the buffers provided byIBufferProvider.provideBuffer().org.eclipse.net4j.util.container.IManagedContainergetContainer()java.util.concurrent.ExecutorServicegetExecutorService()shortgetID()Returns the ID of this channel.ILocationAware.LocationgetLocation()IChannelMultiplexergetMultiplexer()Returns the multiplexer this channel is associated with.longgetReceivedBuffers()Returns the number ofbuffersthat are received from themultiplexerof this channel and are passed on to thereceive handlerof this channel.longgetReceivedBytes()Returns the number of bytes that are received from themultiplexerof this channel and are passed on to thereceive handlerof this channel.java.util.concurrent.ExecutorServicegetReceiveExecutor()Deprecated.IBufferHandlergetReceiveHandler()Returns theIBufferHandlerthat handles buffers received from the peer channel.java.util.Queue<IBuffer>getSendQueue()longgetSentBuffers()Returns the number ofbuffersthat are sent to themultiplexerof this channel.longgetSentBytes()Returns the number of bytes that are sent to themultiplexerof this channel.java.lang.StringgetUserID()voidhandleBuffer(IBuffer buffer)Handles the given buffer.voidhandleBufferFromMultiplexer(IBuffer buffer)Handles a buffer sent by the multiplexer.booleanisClient()booleanisClosed()booleanisServer()IBufferprovideBuffer()Provides a buffer from thisBufferProvider.voidretainBuffer(IBuffer buffer)Retains a buffer to thisBufferProvider.voidsendBuffer(IBuffer buffer)Asynchronously sends the given buffer to the receive handler of the peer channel.voidsetID(short id)voidsetMultiplexer(IChannelMultiplexer channelMultiplexer)voidsetReceiveExecutor(java.util.concurrent.ExecutorService receiveExecutor)Deprecated.voidsetReceiveHandler(IBufferHandler receiveHandler)Sets theIBufferHandlerto handle buffers received from the peer channel.voidsetUserID(java.lang.String userID)java.lang.StringtoString()protected voidunregisterFromMultiplexer()-
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, isDeferredActivation
-
Methods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, 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
-
-
-
-
Method Detail
-
getContainer
public org.eclipse.net4j.util.container.IManagedContainer getContainer()
- Specified by:
getContainerin interfaceorg.eclipse.net4j.util.container.IManagedContainerProvider
-
getUserID
public java.lang.String getUserID()
- Specified by:
getUserIDin interfaceorg.eclipse.net4j.util.security.IUserAware
-
setUserID
public void setUserID(java.lang.String userID)
- Specified by:
setUserIDin interfaceInternalChannel
-
getLocation
public ILocationAware.Location getLocation()
Description copied from interface:ILocationAware- Specified by:
getLocationin interfaceILocationAware
-
isClient
public boolean isClient()
Description copied from interface:ILocationAware- Specified by:
isClientin interfaceILocationAware
-
isServer
public boolean isServer()
Description copied from interface:ILocationAware- Specified by:
isServerin interfaceILocationAware
-
getMultiplexer
public IChannelMultiplexer getMultiplexer()
Description copied from interface:IChannelReturns the multiplexer this channel is associated with. This channel multiplexer can be used, for example, to open additional channels that will be multiplexed through the same transport medium.- Specified by:
getMultiplexerin interfaceIChannel
-
setMultiplexer
public void setMultiplexer(IChannelMultiplexer channelMultiplexer)
- Specified by:
setMultiplexerin interfaceInternalChannel
-
getID
public short getID()
Description copied from interface:IChannelReturns the ID of this channel. The ID is unique at any time among all channels of the associatedmultiplexer.
-
setID
public void setID(short id)
- Specified by:
setIDin interfaceInternalChannel
-
getExecutorService
public java.util.concurrent.ExecutorService getExecutorService()
- Specified by:
getExecutorServicein interfaceorg.eclipse.net4j.util.concurrent.IExecutorServiceProvider- Since:
- 4.5
-
getReceiveExecutor
@Deprecated public java.util.concurrent.ExecutorService getReceiveExecutor()
Deprecated.- Specified by:
getReceiveExecutorin interfaceInternalChannel
-
setReceiveExecutor
@Deprecated public void setReceiveExecutor(java.util.concurrent.ExecutorService receiveExecutor)
Deprecated.- Specified by:
setReceiveExecutorin interfaceInternalChannel
-
getReceiveHandler
public IBufferHandler getReceiveHandler()
Description copied from interface:IChannelReturns theIBufferHandlerthat handles buffers received from the peer channel.- Specified by:
getReceiveHandlerin interfaceIChannel
-
setReceiveHandler
public void setReceiveHandler(IBufferHandler receiveHandler)
Description copied from interface:IChannelSets theIBufferHandlerto handle buffers received from the peer channel.- Specified by:
setReceiveHandlerin interfaceIChannel
-
getSentBuffers
public long getSentBuffers()
Description copied from interface:IChannelReturns the number ofbuffersthat are sent to themultiplexerof this channel.- Specified by:
getSentBuffersin interfaceIChannel- Since:
- 3.0
-
getSentBytes
public final long getSentBytes()
Description copied from interface:IChannelReturns the number of bytes that are sent to themultiplexerof this channel.- Specified by:
getSentBytesin interfaceIChannel- Since:
- 4.13
-
getReceivedBuffers
public long getReceivedBuffers()
Description copied from interface:IChannelReturns the number ofbuffersthat are received from themultiplexerof this channel and are passed on to thereceive handlerof this channel.- Specified by:
getReceivedBuffersin interfaceIChannel- Since:
- 3.0
-
getReceivedBytes
public final long getReceivedBytes()
Description copied from interface:IChannelReturns the number of bytes that are received from themultiplexerof this channel and are passed on to thereceive handlerof this channel.- Specified by:
getReceivedBytesin interfaceIChannel- Since:
- 4.13
-
getSendQueue
public java.util.Queue<IBuffer> getSendQueue()
- Specified by:
getSendQueuein interfaceInternalChannel
-
sendBuffer
public void sendBuffer(IBuffer buffer)
Description copied from interface:IChannelAsynchronously sends the given buffer to the receive handler of the peer channel.- Specified by:
sendBufferin interfaceIChannel
-
handleBuffer
public void handleBuffer(IBuffer buffer)
Handles the given buffer. Ensures it is in the PUTTING state (otherwise ignores it) and sends it on behalf of the send queue.- Specified by:
handleBufferin interfaceIBufferHandler- Parameters:
buffer- The buffer to be handled.- See Also:
IBuffer.getState(),BufferState.PUTTING,sendQueue
-
handleBufferFromMultiplexer
public void handleBufferFromMultiplexer(IBuffer buffer)
Handles a buffer sent by the multiplexer. Adds work to the receive queue or releases the buffer.- Specified by:
handleBufferFromMultiplexerin interfaceInternalChannel- See Also:
InternalChannelMultiplexer.multiplexChannel(org.eclipse.spi.net4j.InternalChannel)
-
createReceiverWork
@Deprecated protected Channel.ReceiverWork createReceiverWork(IBuffer buffer)
Deprecated.As of 4.10 scheduled for future removal.
-
getBufferCapacity
public short getBufferCapacity()
Description copied from interface:IBufferProviderReturns the capacity of the buffers provided byIBufferProvider.provideBuffer().- Specified by:
getBufferCapacityin interfaceIBufferProvider
-
provideBuffer
public IBuffer provideBuffer()
Description copied from interface:IBufferProviderProvides a buffer from thisBufferProvider.- Specified by:
provideBufferin interfaceIBufferProvider
-
retainBuffer
public void retainBuffer(IBuffer buffer)
Description copied from interface:IBufferProviderRetains a buffer to thisBufferProvider.- Specified by:
retainBufferin interfaceIBufferProvider
-
toString
public java.lang.String toString()
- Overrides:
toStringin classorg.eclipse.net4j.util.lifecycle.Lifecycle
-
doBeforeActivate
protected void doBeforeActivate() throws java.lang.Exception- Overrides:
doBeforeActivatein classorg.eclipse.net4j.util.lifecycle.Lifecycle- Throws:
java.lang.Exception
-
doActivate
protected void doActivate() throws java.lang.Exception- Overrides:
doActivatein classorg.eclipse.net4j.util.lifecycle.Lifecycle- Throws:
java.lang.Exception
-
doDeactivate
protected void doDeactivate() throws java.lang.Exception- Overrides:
doDeactivatein classorg.eclipse.net4j.util.lifecycle.Lifecycle- Throws:
java.lang.Exception
-
unregisterFromMultiplexer
protected void unregisterFromMultiplexer()
-
close
public void close()
- Specified by:
closein interfaceorg.eclipse.net4j.util.collection.Closeable
-
isClosed
public boolean isClosed()
- Specified by:
isClosedin interfaceorg.eclipse.net4j.util.collection.Closeable
-
-