public class DemuxingProtocolEncoder extends java.lang.Object implements ProtocolEncoder
ProtocolEncoder
that demultiplexes incoming message
encoding requests into an appropriate MessageEncoder
.
MessageEncoder
Override dispose(IoSession)
method. Please don't forget to call
super.dispose().
构造器和说明 |
---|
DemuxingProtocolEncoder() |
限定符和类型 | 方法和说明 |
---|---|
void |
addMessageEncoder(java.lang.Class<?> messageType,
java.lang.Class<? extends MessageEncoder> encoderClass) |
<T> void |
addMessageEncoder(java.lang.Class<T> messageType,
MessageEncoder<? super T> encoder) |
<T> void |
addMessageEncoder(java.lang.Class<T> messageType,
MessageEncoderFactory<? super T> factory) |
void |
addMessageEncoder(java.lang.Iterable<java.lang.Class<?>> messageTypes,
java.lang.Class<? extends MessageEncoder> encoderClass) |
<T> void |
addMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes,
MessageEncoder<? super T> encoder) |
<T> void |
addMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes,
MessageEncoderFactory<? super T> factory) |
void |
dispose(IoSession session)
Releases all resources related with this encoder.
|
void |
encode(IoSession session,
java.lang.Object message,
ProtocolEncoderOutput out)
Encodes higher-level message objects into binary or protocol-specific data.
|
protected MessageEncoder<java.lang.Object> |
findEncoder(org.apache.mina.filter.codec.demux.DemuxingProtocolEncoder.State state,
java.lang.Class<?> type) |
public void addMessageEncoder(java.lang.Class<?> messageType, java.lang.Class<? extends MessageEncoder> encoderClass)
public <T> void addMessageEncoder(java.lang.Class<T> messageType, MessageEncoder<? super T> encoder)
public <T> void addMessageEncoder(java.lang.Class<T> messageType, MessageEncoderFactory<? super T> factory)
public void addMessageEncoder(java.lang.Iterable<java.lang.Class<?>> messageTypes, java.lang.Class<? extends MessageEncoder> encoderClass)
public <T> void addMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)
public <T> void addMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes, MessageEncoderFactory<? super T> factory)
public void encode(IoSession session, java.lang.Object message, ProtocolEncoderOutput out) throws java.lang.Exception
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 IoBuffer
s)
into ProtocolEncoderOutput
.encode
在接口中 ProtocolEncoder
session
- The current Sessionmessage
- the message to encodeout
- The ProtocolEncoderOutput
that will receive the encoded messagejava.lang.Exception
- if the message violated protocol specificationprotected MessageEncoder<java.lang.Object> findEncoder(org.apache.mina.filter.codec.demux.DemuxingProtocolEncoder.State state, java.lang.Class<?> type)
public void dispose(IoSession session) throws java.lang.Exception
dispose
在接口中 ProtocolEncoder
session
- The current Sessionjava.lang.Exception
- if failed to dispose all resources