public class DemuxingProtocolCodecFactory extends Object implements ProtocolCodecFactory
ProtocolCodecFactory
that provides DemuxingProtocolEncoder
and DemuxingProtocolDecoder
as a pair.
DemuxingProtocolEncoder
and DemuxingProtocolDecoder
demultiplex
incoming messages and buffers to appropriate MessageEncoder
s and
MessageDecoder
s.
Constructor and Description |
---|
DemuxingProtocolCodecFactory() |
Modifier and Type | Method and Description |
---|---|
void |
addMessageDecoder(Class<? extends MessageDecoder> decoderClass)
Adds a new message decoder
|
void |
addMessageDecoder(MessageDecoder decoder)
Adds a new message decoder
|
void |
addMessageDecoder(MessageDecoderFactory factory)
Adds a new message decoder
|
void |
addMessageEncoder(Class<?> messageType,
Class<? extends MessageEncoder> encoderClass)
Adds a new message encoder for a given message type
|
<T> void |
addMessageEncoder(Class<T> messageType,
MessageEncoder<? super T> encoder)
Adds a new message encoder for a given message type
|
<T> void |
addMessageEncoder(Class<T> messageType,
MessageEncoderFactory<? super T> factory)
Adds a new message encoder for a given message type
|
void |
addMessageEncoder(Iterable<Class<?>> messageTypes,
Class<? extends MessageEncoder> encoderClass)
Adds a new message encoder for a list of message types
|
<T> void |
addMessageEncoder(Iterable<Class<? extends T>> messageTypes,
MessageEncoder<? super T> encoder)
Adds a new message encoder for a list of message types
|
<T> void |
addMessageEncoder(Iterable<Class<? extends T>> messageTypes,
MessageEncoderFactory<? super T> factory)
Adds a new message encoder for a list of message types
|
ProtocolDecoder |
getDecoder(IoSession session)
Returns a new (or reusable) instance of
ProtocolDecoder which
decodes binary or protocol-specific data into message objects. |
ProtocolEncoder |
getEncoder(IoSession session)
Returns a new (or reusable) instance of
ProtocolEncoder which
encodes message objects into binary or protocol-specific data. |
public ProtocolEncoder getEncoder(IoSession session) throws Exception
ProtocolEncoder
which
encodes message objects into binary or protocol-specific data.getEncoder
in interface ProtocolCodecFactory
session
- The current sessionException
- If an error occurred while retrieving the encoderpublic ProtocolDecoder getDecoder(IoSession session) throws Exception
ProtocolDecoder
which
decodes binary or protocol-specific data into message objects.getDecoder
in interface ProtocolCodecFactory
session
- The current sessionException
- If an error occurred while retrieving the decoderpublic void addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass)
messageType
- The message typeencoderClass
- The associated encoder classpublic <T> void addMessageEncoder(Class<T> messageType, MessageEncoder<? super T> encoder)
T
- The message typemessageType
- The message typeencoder
- The associated encoder instancepublic <T> void addMessageEncoder(Class<T> messageType, MessageEncoderFactory<? super T> factory)
T
- The message typemessageType
- The message typefactory
- The associated encoder factorypublic void addMessageEncoder(Iterable<Class<?>> messageTypes, Class<? extends MessageEncoder> encoderClass)
messageTypes
- The message typesencoderClass
- The associated encoder classpublic <T> void addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)
T
- The message typemessageTypes
- The messages typesencoder
- The associated encoder instancepublic <T> void addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoderFactory<? super T> factory)
T
- The message typemessageTypes
- The messages typesfactory
- The associated encoder factorypublic void addMessageDecoder(Class<? extends MessageDecoder> decoderClass)
decoderClass
- The associated decoder classpublic void addMessageDecoder(MessageDecoder decoder)
decoder
- The associated decoder instancepublic void addMessageDecoder(MessageDecoderFactory factory)
factory
- The associated decoder factoryCopyright © 2004–2021 Apache MINA Project. All rights reserved.