org.jboss.netty.channel.socket.nio

## Class NioSocketChannel

- java.lang.Object
- - org.jboss.netty.channel.AbstractChannel
  - - org.jboss.netty.channel.socket.nio.NioSocketChannel

- All Implemented Interfaces:
    Comparable<Channel>, Channel, SocketChannel

      public class NioSocketChannel
      extends AbstractChannel
      implements SocketChannel

- - ### Field Summary

    - ### Fields inherited from interface org.jboss.netty.channel.Channel

      `OP_NONE, OP_READ, OP_READ_WRITE, OP_WRITE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NioSocketChannel(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, SocketChannel socket, NioWorker worker)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NioSocketChannelConfig` | `getConfig()` Returns the configuration of this channel.
    `int` | `getInterestOps()` Returns the current `interestOps` of this channel.
    `InetSocketAddress` | `getLocalAddress()` Returns the local address where this channel is bound to.
    `InetSocketAddress` | `getRemoteAddress()` Returns the remote address where this channel is connected to.
    `NioWorker` | `getWorker()` Return the `AbstractNioWorker` that handle the IO of the `AbstractNioChannel`
    `boolean` | `isBound()` Returns `true` if and only if this channel is bound to a local address.
    `boolean` | `isConnected()` Returns `true` if and only if this channel is connected to a remote address.
    `boolean` | `isOpen()` Returns `true` if and only if this channel is open.
    `protected boolean` | `setClosed()` Marks this channel as closed.
    `ChannelFuture` | `write(Object message, SocketAddress remoteAddress)` Sends a message to this channel asynchronously.

    - ### Methods inherited from class org.jboss.netty.channel.AbstractChannel

      `bind, close, compareTo, connect, disconnect, equals, getAttachment, getCloseFuture, getFactory, getId, getParent, getPipeline, getSucceededFuture, getUnsupportedOperationFuture, hashCode, isReadable, isWritable, setAttachment, setInterestOps, setInterestOpsNow, setReadable, toString, unbind, write`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.jboss.netty.channel.socket.SocketChannel

      `getLocalAddress, getRemoteAddress`

    - ### Methods inherited from interface org.jboss.netty.channel.Channel

      `bind, close, connect, disconnect, getAttachment, getCloseFuture, getFactory, getId, getInterestOps, getParent, getPipeline, isReadable, isWritable, setAttachment, setInterestOps, setReadable, unbind, write`

    - ### Methods inherited from interface java.lang.Comparable

      `compareTo`

- - ### Constructor Detail

    - #### NioSocketChannel

          public NioSocketChannel(Channel parent,
                          ChannelFactory factory,
                          ChannelPipeline pipeline,
                          ChannelSink sink,
                          SocketChannel socket,
                          NioWorker worker)

  - ### Method Detail

    - #### getWorker

          public NioWorker getWorker()

      Return the `AbstractNioWorker` that handle the IO of the `AbstractNioChannel`
      Returns:
        worker

    - #### getConfig

          public NioSocketChannelConfig getConfig()

      Description copied from interface: `Channel`
      Returns the configuration of this channel.
      Specified by:
        `getConfig` in interface `Channel`
      Specified by:
        `getConfig` in interface `SocketChannel`

    - #### isOpen

          public boolean isOpen()

      Description copied from interface: `Channel`
      Returns `true` if and only if this channel is open.
      Specified by:
        `isOpen` in interface `Channel`
      Overrides:
        `isOpen` in class `AbstractChannel`

    - #### isBound

          public boolean isBound()

      Description copied from interface: `Channel`
      Returns `true` if and only if this channel is bound to a local address.
      Specified by:
        `isBound` in interface `Channel`

    - #### isConnected

          public boolean isConnected()

      Description copied from interface: `Channel`
      Returns `true` if and only if this channel is connected to a remote address.
      Specified by:
        `isConnected` in interface `Channel`

    - #### setClosed

          protected boolean setClosed()

      Description copied from class: `AbstractChannel`
      Marks this channel as closed. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.
      Returns:
        `true` if and only if this channel was not marked as closed yet

    - #### write

          public ChannelFuture write(Object message,
                            SocketAddress remoteAddress)

      Description copied from interface: `Channel`
      Sends a message to this channel asynchronously. It has an additional parameter that allows a user to specify where to send the specified message instead of this channel's current remote address. If this channel was created by a connectionless transport (e.g. `DatagramChannel`) and is not connected yet, you must specify non-null address. Otherwise, the write request will fail with `NotYetConnectedException` and an `'exceptionCaught'` event will be triggered.
      Specified by:
        `write` in interface `Channel`
      Overrides:
        `write` in class `AbstractChannel`
      Parameters:
        `message` - the message to write
        `remoteAddress` - where to send the specified message. This method is identical to `Channel.write(Object)` if `null` is specified here.
      Returns:
        the `ChannelFuture` which will be notified when the write request succeeds or fails

    - #### getLocalAddress

          public InetSocketAddress getLocalAddress()

      Description copied from interface: `Channel`
      Returns the local address where this channel is bound to. The returned `SocketAddress` is supposed to be down-cast into more concrete type such as `InetSocketAddress` to retrieve the detailed information.
      Returns:
        the local address of this channel. `null` if this channel is not bound.

    - #### getRemoteAddress

          public InetSocketAddress getRemoteAddress()

      Description copied from interface: `Channel`
      Returns the remote address where this channel is connected to. The returned `SocketAddress` is supposed to be down-cast into more concrete type such as `InetSocketAddress` to retrieve the detailed information.
      Returns:
        the remote address of this channel. `null` if this channel is not connected. If this channel is not connected but it can receive messages from arbitrary remote addresses (e.g. `DatagramChannel`, use `MessageEvent.getRemoteAddress()` to determine the origination of the received message as this method will return `null`.

    - #### getInterestOps

          public int getInterestOps()

      Description copied from interface: `Channel`
      Returns the current `interestOps` of this channel.
      Specified by:
        `getInterestOps` in interface `Channel`
      Overrides:
        `getInterestOps` in class `AbstractChannel`
      Returns:
        `Channel.OP_NONE`, `Channel.OP_READ`, `Channel.OP_WRITE`, or `Channel.OP_READ_WRITE`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.