org.apache.mina.filter.codec
Class SynchronizedProtocolEncoder

java.lang.Object
  extended byorg.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.

Version:
$Rev: 436993 $, $Date: 2006-08-26 00:36:56 +0200 (Sat, 26 Aug 2006) $
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 ByteBuffers 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