Package org.eclipse.spi.net4j

# Klasse ChannelMultiplexer

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

Alle implementierten Schnittstellen:
  `IBufferProvider`, `IChannelMultiplexer`, `ILocationAware`, `ITransportConfigAware`, `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`, `InternalChannelMultiplexer`, `InverseCloseable`

Bekannte direkte Unterklassen:
  `Connector`

public abstract class ChannelMultiplexer extends org.eclipse.net4j.util.container.Container<IChannel> implements InternalChannelMultiplexer, org.eclipse.net4j.util.concurrent.IExecutorServiceProvider, InverseCloseable
If the meaning of this type isn't clear, there really should be more of a description here...

Seit:
  2.0
Autor:
  Eike Stepper

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.buffer.IBufferProvider

`IBufferProvider.Introspection, IBufferProvider.Notification`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.container.IContainer

`org.eclipse.net4j.util.container.IContainer.Modifiable<E>, org.eclipse.net4j.util.container.IContainer.Persistable<E>, org.eclipse.net4j.util.container.IContainer.Persistence<E>`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.lifecycle.ILifecycle

`org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.ILocationAware

`ILocationAware.Location`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.spi.net4j.InternalChannelMultiplexer

`InternalChannelMultiplexer.BufferMultiplexer`

## Feldübersicht

### Von Klasse geerbte Felder org.eclipse.net4j.util.lifecycle.Lifecycle

`USE_LABEL`

### Von Schnittstelle geerbte Felder org.eclipse.net4j.channel.IChannelMultiplexer

`DEFAULT_OPEN_CHANNEL_TIMEOUT, NO_CHANNEL_TIMEOUT`

### Von Schnittstelle geerbte Felder org.eclipse.spi.net4j.InternalChannelMultiplexer

`CONTEXT_MULTIPLEXER, RESERVED_CHANNEL`

## Konstruktorübersicht

Konstruktoren
Konstruktor
Beschreibung
`ChannelMultiplexer()`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`void`
`closeChannel(InternalChannel channel)`
`protected InternalChannel`
`createChannel()`
`protected abstract org.eclipse.net4j.util.security.INegotiationContext`
`createNegotiationContext()`
`protected <INFRA_STRUCTURE>
IProtocol<INFRA_STRUCTURE>`
`createProtocol(String type, INFRA_STRUCTURE infraStructure)`
`protected org.eclipse.net4j.util.factory.IFactoryKey`
`createProtocolFactoryKey(String type)`
`protected abstract void`
`deregisterChannelFromPeer(InternalChannel channel)`
`protected void`
`doBeforeOpenChannel(IProtocol<?> protocol)`
`protected void`
`doDeactivate()`
`final InternalChannel`
`getChannel(short channelID)`
`final Collection<IChannel>`
`getChannels()`
Returns a collection of currently open channels.
`ITransportConfig`
`getConfig()`
Returns the current transport configuration if there is one, a new empty one otherwise.
`IChannel[]`
`getElements()`
`ExecutorService`
`getExecutorService()`
`long`
`getOpenChannelTimeout()`
`protected void`
`initChannel(InternalChannel channel, IProtocol<?> protocol)`
`void`
`inverseClose()`
`void`
`inverseCloseChannel(short channelID)`
`InternalChannel`
`inverseOpenChannel(short channelID, String protocolID)`
Veraltet.
Use `inverseOpenChannel(short, String, int)`.
`InternalChannel`
`inverseOpenChannel(short channelID, String protocolID, int protocolVersion)`
`boolean`
`isEmpty()`
`boolean`
`needsBufferProvider()`
`InternalChannel`
`openChannel()`
Synchronous request to open a new `IChannel` with an undefined channel protocol.
`InternalChannel`
`openChannel(String protocolID, Object infraStructure)`
Synchronous request to open a new `IChannel` with a channel protocol defined by a given protocol identifier.
`InternalChannel`
`openChannel(IProtocol<?> protocol)`
Synchronous request to open a new `IChannel` with the given channel protocol .
`final org.eclipse.net4j.util.registry.IRegistry<String,Object>`
`properties()`
`protected abstract void`
`registerChannelWithPeer(short channelID, long timeout, IProtocol<?> protocol)`
`void`
`setConfig(ITransportConfig config)`
Sets a new transport configuration by copying the given one.
`void`
`setOpenChannelTimeout(long openChannelTimeout)`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.container.Container

`fireContainerEvent, fireContainerEvent, fireContainerEvent, fireElementAddedEvent, fireElementRemovedEvent, fireElementsAddedEvent, fireElementsRemovedEvent, fireEvent, newContainerEvent, newContainerEvent`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.lifecycle.Lifecycle

`activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.event.Notifier

`addListener, addUniqueListener, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

### Von Klasse geerbte Methoden java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.buffer.IBufferProvider

`getBufferCapacity, provideBuffer, retainBuffer`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.ILocationAware

`getLocation, isClient, isServer`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

### Von Schnittstelle geerbte Methoden org.eclipse.spi.net4j.InternalChannelMultiplexer

`multiplexChannel`

## Konstruktordetails

### ChannelMultiplexer

public ChannelMultiplexer()

## Methodendetails

### properties

public final org.eclipse.net4j.util.registry.IRegistry<String,Object> properties()

Angegeben von:
  `properties` in Schnittstelle `org.eclipse.net4j.util.properties.IPropertiesContainer`
Seit:
  4.12

### needsBufferProvider

public boolean needsBufferProvider()

Angegeben von:
  `needsBufferProvider` in Schnittstelle `InternalChannelMultiplexer`

### getConfig

public ITransportConfig getConfig()
Beschreibung aus Schnittstelle kopiert: `ITransportConfigAware`
Returns the current transport configuration if there is one, a new empty one otherwise.

Angegeben von:
  `getConfig` in Schnittstelle `ITransportConfigAware`

### setConfig

public void setConfig(ITransportConfig config)
Beschreibung aus Schnittstelle kopiert: `ITransportConfigAware`
Sets a new transport configuration by copying the given one.

Angegeben von:
  `setConfig` in Schnittstelle `ITransportConfigAware`

### getExecutorService

public ExecutorService getExecutorService()

Angegeben von:
  `getExecutorService` in Schnittstelle `org.eclipse.net4j.util.concurrent.IExecutorServiceProvider`

### getOpenChannelTimeout

public long getOpenChannelTimeout()

Angegeben von:
  `getOpenChannelTimeout` in Schnittstelle `IChannelMultiplexer`

### setOpenChannelTimeout

public void setOpenChannelTimeout(long openChannelTimeout)

Angegeben von:
  `setOpenChannelTimeout` in Schnittstelle `IChannelMultiplexer`

### getChannel

public final InternalChannel getChannel(short channelID)

### getChannels

public final Collection<IChannel> getChannels()
Beschreibung aus Schnittstelle kopiert: `IChannelMultiplexer`
Returns a collection of currently open channels.

Angegeben von:
  `getChannels` in Schnittstelle `IChannelMultiplexer`

### isEmpty

public boolean isEmpty()

Angegeben von:
  `isEmpty` in Schnittstelle `org.eclipse.net4j.util.container.IContainer<IChannel>`
Setzt außer Kraft:
  `isEmpty` in Klasse `org.eclipse.net4j.util.container.Container<IChannel>`

### getElements

public IChannel[] getElements()

Angegeben von:
  `getElements` in Schnittstelle `org.eclipse.net4j.util.container.IContainer<IChannel>`

### openChannel

public InternalChannel openChannel() throws ChannelException
Beschreibung aus Schnittstelle kopiert: `IChannelMultiplexer`
Synchronous request to open a new `IChannel` with an undefined channel protocol. Since the peer connector can't lookup a protocol `factory` without a protocol identifier the `IBufferHandler` of the peer `IChannel` can only be provided by externally provided channel `lifecycle` `listeners`.

Angegeben von:
  `openChannel` in Schnittstelle `IChannelMultiplexer`
Löst aus:
  `ChannelException`
Siehe auch:
  - `IChannelMultiplexer.openChannel(String, Object)`
  - `IChannelMultiplexer.openChannel(IProtocol)`

### openChannel

public InternalChannel openChannel(String protocolID, Object infraStructure) throws ChannelException
Beschreibung aus Schnittstelle kopiert: `IChannelMultiplexer`
Synchronous request to open a new `IChannel` with a channel protocol defined by a given protocol identifier. The peer connector will lookup a protocol `factory` with the protocol identifier, create a `IBufferHandler` and inject it into the peer `IChannel`.

Angegeben von:
  `openChannel` in Schnittstelle `IChannelMultiplexer`
Löst aus:
  `ChannelException`
Siehe auch:
  - `IChannelMultiplexer.openChannel()`
  - `IChannelMultiplexer.openChannel(IProtocol)`

### openChannel

public InternalChannel openChannel(IProtocol<?> protocol) throws ChannelException
Beschreibung aus Schnittstelle kopiert: `IChannelMultiplexer`
Synchronous request to open a new `IChannel` with the given channel protocol . The peer connector will lookup a protocol `factory` with the protocol identifier, create a `IBufferHandler` and inject it into the peer channel.

Angegeben von:
  `openChannel` in Schnittstelle `IChannelMultiplexer`
Löst aus:
  `ChannelException`
Siehe auch:
  - `IChannelMultiplexer.openChannel()`
  - `IChannelMultiplexer.openChannel(String, Object)`

### inverseOpenChannel

@Deprecated public InternalChannel inverseOpenChannel(short channelID, String protocolID)
Veraltet.
Use `inverseOpenChannel(short, String, int)`.

### inverseOpenChannel

public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion)

Seit:
  4.2

### closeChannel

public void closeChannel(InternalChannel channel) throws ChannelException

Angegeben von:
  `closeChannel` in Schnittstelle `InternalChannelMultiplexer`
Löst aus:
  `ChannelException`

### inverseCloseChannel

public void inverseCloseChannel(short channelID) throws ChannelException

Löst aus:
  `ChannelException`

### inverseClose

public void inverseClose()

Angegeben von:
  `inverseClose` in Schnittstelle `InverseCloseable`

### createChannel

protected InternalChannel createChannel()

### initChannel

protected void initChannel(InternalChannel channel, IProtocol<?> protocol)

### createProtocol

protected <INFRA_STRUCTURE> IProtocol<INFRA_STRUCTURE> createProtocol(String type, INFRA_STRUCTURE infraStructure)

### createProtocolFactoryKey

protected org.eclipse.net4j.util.factory.IFactoryKey createProtocolFactoryKey(String type)

### doBeforeOpenChannel

protected void doBeforeOpenChannel(IProtocol<?> protocol)

### doDeactivate

protected void doDeactivate() throws Exception

Setzt außer Kraft:
  `doDeactivate` in Klasse `org.eclipse.net4j.util.lifecycle.Lifecycle`
Löst aus:
  `Exception`

### createNegotiationContext

protected abstract org.eclipse.net4j.util.security.INegotiationContext createNegotiationContext()

### registerChannelWithPeer

protected abstract void registerChannelWithPeer(short channelID, long timeout, IProtocol<?> protocol) throws ChannelException

Löst aus:
  `ChannelException`

### deregisterChannelFromPeer

protected abstract void deregisterChannelFromPeer(InternalChannel channel) throws ChannelException

Löst aus:
  `ChannelException`