Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.mina.filter.codec
Class SynchronizedProtocolEncoder

    java.lang.Object
      org.apache.mina.filter.codec.SynchronizedProtocolEncoder

All Implemented Interfaces:
  ProtocolEncoder

    public class SynchronizedProtocolEncoder

extends Object
implements ProtocolEncoder

A `ProtocolEncoder` implementation which decorates an existing encoder to be thread-safe. Please be careful if you're going to use this decorator because it can be a root of performance degradation in a multi-thread environment. Please use this decorator only when you need to synchronize on a per-encoder basis instead of on a per-session basis, which is not common.

Version:
  $Rev: 555855 $, $Date: 2007-07-13 05:19:00 +0200 (Fri, 13 Jul 2007) $
Author:
  The Apache Directory Project (mina-dev@directory.apache.org)

Constructor Summary
`SynchronizedProtocolEncoder(ProtocolEncoder encoder)` Creates a new instance which decorates the specified `encoder`.

Method Summary
`void` | `dispose(IoSession session)` Releases all resources related with this encoder.
`void` | `encode(IoSession session, Object message, ProtocolEncoderOutput out)` Encodes higher-level message objects into binary or protocol-specific data.
`ProtocolEncoder` | `getEncoder()` Returns the encoder this encoder is decorating.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SynchronizedProtocolEncoder

    public SynchronizedProtocolEncoder(ProtocolEncoder encoder)

  Creates a new instance which decorates the specified `encoder`.

Method Detail

### getEncoder

    public ProtocolEncoder getEncoder()

  Returns the encoder this encoder is decorating.

### encode

    public void encode(IoSession session,
                       Object message,
                       ProtocolEncoderOutput out)
                throws Exception

  Description copied from interface: `ProtocolEncoder`
  Encodes higher-level message objects into binary or protocol-specific data. MINA invokes `ProtocolEncoder.encode(IoSession, Object, ProtocolEncoderOutput)` method with message which is popped from the session write queue, and then the encoder implementation puts encoded `ByteBuffer`s into `ProtocolEncoderOutput`.

  Specified by:
    `encode` in interface `ProtocolEncoder`
  Throws:
    `Exception` - if the message violated protocol specification

### dispose

    public void dispose(IoSession session)
                 throws Exception

  Description copied from interface: `ProtocolEncoder`
  Releases all resources related with this encoder.

  Specified by:
    `dispose` in interface `ProtocolEncoder`
  Throws:
    `Exception` - if failed to dispose all resources

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004-2008 Apache MINA Project. All Rights Reserved.