org.apache.mina.filter.codec
Class SynchronizedProtocolEncoder

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

Author:
Apache MINA Project

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 messages (typically IoBuffers) 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


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