org.eclipse.spi.net4j

## Interface InternalChannelMultiplexer

- All Superinterfaces:
    IBufferProvider, IChannelMultiplexer, IContainer<IChannel>, ILocationAware, INotifier, ITransportConfigAware
  All Known Subinterfaces:
    InternalConnector
  All Known Implementing Classes:
    ChannelMultiplexer, Connector

      public interface InternalChannelMultiplexer
      extends IChannelMultiplexer, IBufferProvider, ITransportConfigAware

  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.ILocationAware

      `ILocationAware.Location`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.buffer.IBufferProvider

      `IBufferProvider.Introspection, IBufferProvider.Notification`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.ThreadLocal<InternalChannelMultiplexer>` | `CONTEXT_MULTIPLEXER`
    `static short` | `RESERVED_CHANNEL`

    - ### Fields inherited from interface org.eclipse.net4j.channel.IChannelMultiplexer

      `DEFAULT_OPEN_CHANNEL_TIMEOUT, NO_CHANNEL_TIMEOUT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `closeChannel(InternalChannel channel)`
    `void` | `multiplexChannel(InternalChannel channel)` Called by an `IChannel` each time a new buffer is available for multiplexing.

    - ### Methods inherited from interface org.eclipse.net4j.channel.IChannelMultiplexer

      `getChannels, getOpenChannelTimeout, openChannel, openChannel, openChannel, setOpenChannelTimeout`

    - ### Methods inherited from interface org.eclipse.net4j.ILocationAware

      `getLocation, isClient, isServer`

    - ### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

      `getElements, isEmpty`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

    - ### Methods inherited from interface org.eclipse.net4j.buffer.IBufferProvider

      `getBufferCapacity, provideBuffer, retainBuffer`

    - ### Methods inherited from interface org.eclipse.net4j.ITransportConfigAware

      `getConfig, setConfig`

- - ### Field Detail

    - #### CONTEXT_MULTIPLEXER

          static final java.lang.ThreadLocal<InternalChannelMultiplexer> CONTEXT_MULTIPLEXER

      Since:
        4.5

    - #### RESERVED_CHANNEL

          static final short RESERVED_CHANNEL

      Since:
        4.0
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### multiplexChannel

          void multiplexChannel(InternalChannel channel)

      Called by an `IChannel` each time a new buffer is available for multiplexing. This or another buffer can be dequeued from the outputQueue of the `IChannel`.

    - #### closeChannel

          void closeChannel(InternalChannel channel)

      Since:
        2.0

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html