Class Codec20
- java.lang.Object
-
- org.infinispan.client.hotrod.impl.protocol.Codec20
-
- All Implemented Interfaces:
Codec
,HotRodConstants
- Direct Known Subclasses:
Codec21
public class Codec20 extends Object implements Codec, HotRodConstants
A Hot Rod encoder/decoder for version 2.0 of the protocol.- Since:
- 7.0
- Author:
- Galder ZamarreƱo
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.infinispan.client.hotrod.impl.protocol.HotRodConstants
HotRodConstants.Names
-
-
Field Summary
-
Fields inherited from interface org.infinispan.client.hotrod.impl.protocol.HotRodConstants
ADD_CLIENT_LISTENER_REQUEST, ADD_CLIENT_LISTENER_RESPONSE, AUTH_MECH_LIST_REQUEST, AUTH_MECH_LIST_RESPONSE, AUTH_REQUEST, AUTH_RESPONSE, BULK_GET_KEYS_REQUEST, BULK_GET_KEYS_RESPONSE, BULK_GET_REQUEST, BULK_GET_RESPONSE, CACHE_ENTRY_CREATED_EVENT_RESPONSE, CACHE_ENTRY_EXPIRED_EVENT_RESPONSE, CACHE_ENTRY_MODIFIED_EVENT_RESPONSE, CACHE_ENTRY_REMOVED_EVENT_RESPONSE, CLEAR_REQUEST, CLEAR_RESPONSE, CLIENT_INTELLIGENCE_BASIC, CLIENT_INTELLIGENCE_HASH_DISTRIBUTION_AWARE, CLIENT_INTELLIGENCE_TOPOLOGY_AWARE, COMMAND_TIMEOUT_STATUS, COMMIT_REQUEST, COMMIT_RESPONSE, CONTAINS_KEY_REQUEST, CONTAINS_KEY_RESPONSE, COUNTER_ADD_AND_GET_REQUEST, COUNTER_ADD_AND_GET_RESPONSE, COUNTER_ADD_LISTENER_REQUEST, COUNTER_ADD_LISTENER_RESPONSE, COUNTER_CAS_REQUEST, COUNTER_CAS_RESPONSE, COUNTER_CREATE_REQUEST, COUNTER_CREATE_RESPONSE, COUNTER_EVENT_RESPONSE, COUNTER_GET_CONFIGURATION_REQUEST, COUNTER_GET_CONFIGURATION_RESPONSE, COUNTER_GET_NAMES_REQUEST, COUNTER_GET_NAMES_RESPONSE, COUNTER_GET_REQUEST, COUNTER_GET_RESPONSE, COUNTER_IS_DEFINED_REQUEST, COUNTER_IS_DEFINED_RESPONSE, COUNTER_REMOVE_LISTENER_REQUEST, COUNTER_REMOVE_LISTENER_RESPONSE, COUNTER_REMOVE_REQUEST, COUNTER_REMOVE_RESPONSE, COUNTER_RESET_REQUEST, COUNTER_RESET_RESPONSE, DEFAULT_CACHE_NAME_BYTES, DEFAULT_CACHE_TOPOLOGY, ERROR_RESPONSE, EXEC_REQUEST, EXEC_RESPONSE, GET_ALL_REQUEST, GET_ALL_RESPONSE, GET_REQUEST, GET_RESPONSE, GET_STREAM_REQUEST, GET_STREAM_RESPONSE, GET_WITH_METADATA, GET_WITH_METADATA_RESPONSE, GET_WITH_VERSION, GET_WITH_VERSION_RESPONSE, HOTROD_STRING_CHARSET, ILLEGAL_LIFECYCLE_STATE, ILLEGAL_OP_CODE, INFINITE_LIFESPAN, INFINITE_MAXIDLE, INVALID_ITERATION, INVALID_MAGIC_OR_MESSAGE_ID_STATUS, ITERATION_END_REQUEST, ITERATION_END_RESPONSE, ITERATION_NEXT_REQUEST, ITERATION_NEXT_RESPONSE, ITERATION_START_REQUEST, ITERATION_START_RESPONSE, KEY_DOES_NOT_EXIST_STATUS, NO_ERROR_STATUS, NO_ERROR_STATUS_COMPAT, NODE_SUSPECTED, NOT_EXECUTED_WITH_PREVIOUS, NOT_EXECUTED_WITH_PREVIOUS_COMPAT, NOT_PUT_REMOVED_REPLACED_STATUS, PING_REQUEST, PING_RESPONSE, PREPARE_REQUEST, PREPARE_RESPONSE, PUT_ALL_REQUEST, PUT_ALL_RESPONSE, PUT_IF_ABSENT_REQUEST, PUT_IF_ABSENT_RESPONSE, PUT_REQUEST, PUT_RESPONSE, PUT_STREAM_REQUEST, PUT_STREAM_RESPONSE, QUERY_REQUEST, QUERY_RESPONSE, REMOVE_CLIENT_LISTENER_REQUEST, REMOVE_CLIENT_LISTENER_RESPONSE, REMOVE_IF_UNMODIFIED_REQUEST, REMOVE_IF_UNMODIFIED_RESPONSE, REMOVE_REQUEST, REMOVE_RESPONSE, REPLACE_IF_UNMODIFIED_REQUEST, REPLACE_IF_UNMODIFIED_RESPONSE, REPLACE_REQUEST, REPLACE_RESPONSE, REQUEST_MAGIC, REQUEST_PARSING_ERROR_STATUS, RESPONSE_MAGIC, ROLLBACK_REQUEST, ROLLBACK_RESPONSE, SERVER_ERROR_STATUS, SIZE_REQUEST, SIZE_RESPONSE, STATS_REQUEST, STATS_RESPONSE, SUCCESS_WITH_PREVIOUS, SUCCESS_WITH_PREVIOUS_COMPAT, SWITCH_CLUSTER_TOPOLOGY, UNKNOWN_COMMAND_STATUS, UNKNOWN_VERSION_STATUS, VERSION_10, VERSION_11, VERSION_12, VERSION_13, VERSION_20, VERSION_21, VERSION_22, VERSION_23, VERSION_24, VERSION_25, VERSION_26, VERSION_27, VERSION_28
-
-
Constructor Summary
Constructors Constructor Description Codec20()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkForErrorsInResponseStatus(io.netty.buffer.ByteBuf buf, HeaderParams params, short status, SocketAddress serverAddress)
protected AbstractClientEvent
createCreatedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)
protected AbstractClientEvent
createCustomEvent(byte[] listenerId, Object eventData, ClientEvent.Type eventType, boolean isRetried)
protected AbstractClientEvent
createModifiedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)
protected AbstractClientEvent
createRemovedEvent(byte[] listenerId, Object key, boolean isRetried)
int
estimateExpirationSize(long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)
int
estimateHeaderSize(HeaderParams params)
Log
getLog()
Logger for Hot Rod client codec<K> org.infinispan.commons.util.CloseableIterator<K>
keyIterator(RemoteCache<K,?> remoteCache, OperationsFactory operationsFactory, int batchSize)
Creates a key iterator with the given batch size if applicable.AbstractClientEvent
readCacheEvent(io.netty.buffer.ByteBuf buf, Function<byte[],DataFormat> listenerDataFormat, short eventTypeId, org.infinispan.commons.configuration.ClassWhiteList whitelist, SocketAddress serverAddress)
HotRodCounterEvent
readCounterEvent(io.netty.buffer.ByteBuf buf)
Reads aHotRodCounterEvent
with thelistener-id
.short
readHeader(io.netty.buffer.ByteBuf buf, double receivedOpCode, HeaderParams params, ChannelFactory channelFactory, SocketAddress serverAddress)
Reads a response header from the transport and returns the status of the response.long
readMessageId(io.netty.buffer.ByteBuf buf)
protected void
readNewTopologyAndHash(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)
protected void
readNewTopologyIfPresent(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)
short
readOpCode(io.netty.buffer.ByteBuf buf)
<T> T
readUnmarshallByteArray(io.netty.buffer.ByteBuf buf, short status, org.infinispan.commons.configuration.ClassWhiteList whitelist, org.infinispan.commons.marshall.Marshaller marshaller)
Read and unmarshall byte array.Object
returnPossiblePrevValue(io.netty.buffer.ByteBuf buf, short status, int flags, org.infinispan.commons.configuration.ClassWhiteList whitelist, org.infinispan.commons.marshall.Marshaller marshaller)
void
writeClientListenerInterests(io.netty.buffer.ByteBuf buf, Set<Class<? extends Annotation>> classes)
void
writeClientListenerParams(io.netty.buffer.ByteBuf buf, ClientListener clientListener, byte[][] filterFactoryParams, byte[][] converterFactoryParams)
Writes client listener parametersvoid
writeExpirationParams(io.netty.buffer.ByteBuf buf, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)
Write lifespan/maxidle parameters.HeaderParams
writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params)
Writes a request header with the given parameters to the transport and returns an updated header parameters.protected HeaderParams
writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params, byte version)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.infinispan.client.hotrod.impl.protocol.Codec
allowOperationsAndEvents, entryIterator, readMeta, readProjectionSize, writeIteratorStartOperation
-
-
-
-
Method Detail
-
readUnmarshallByteArray
public <T> T readUnmarshallByteArray(io.netty.buffer.ByteBuf buf, short status, org.infinispan.commons.configuration.ClassWhiteList whitelist, org.infinispan.commons.marshall.Marshaller marshaller)
Description copied from interface:Codec
Read and unmarshall byte array.- Specified by:
readUnmarshallByteArray
in interfaceCodec
-
writeClientListenerInterests
public void writeClientListenerInterests(io.netty.buffer.ByteBuf buf, Set<Class<? extends Annotation>> classes)
- Specified by:
writeClientListenerInterests
in interfaceCodec
-
writeHeader
public HeaderParams writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params)
Description copied from interface:Codec
Writes a request header with the given parameters to the transport and returns an updated header parameters.- Specified by:
writeHeader
in interfaceCodec
-
writeClientListenerParams
public void writeClientListenerParams(io.netty.buffer.ByteBuf buf, ClientListener clientListener, byte[][] filterFactoryParams, byte[][] converterFactoryParams)
Description copied from interface:Codec
Writes client listener parameters- Specified by:
writeClientListenerParams
in interfaceCodec
-
writeExpirationParams
public void writeExpirationParams(io.netty.buffer.ByteBuf buf, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)
Description copied from interface:Codec
Write lifespan/maxidle parameters.- Specified by:
writeExpirationParams
in interfaceCodec
-
estimateExpirationSize
public int estimateExpirationSize(long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)
- Specified by:
estimateExpirationSize
in interfaceCodec
-
writeHeader
protected HeaderParams writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params, byte version)
-
estimateHeaderSize
public int estimateHeaderSize(HeaderParams params)
- Specified by:
estimateHeaderSize
in interfaceCodec
-
readMessageId
public long readMessageId(io.netty.buffer.ByteBuf buf)
- Specified by:
readMessageId
in interfaceCodec
-
readOpCode
public short readOpCode(io.netty.buffer.ByteBuf buf)
- Specified by:
readOpCode
in interfaceCodec
-
readHeader
public short readHeader(io.netty.buffer.ByteBuf buf, double receivedOpCode, HeaderParams params, ChannelFactory channelFactory, SocketAddress serverAddress)
Description copied from interface:Codec
Reads a response header from the transport and returns the status of the response.- Specified by:
readHeader
in interfaceCodec
-
readCounterEvent
public HotRodCounterEvent readCounterEvent(io.netty.buffer.ByteBuf buf)
Description copied from interface:Codec
Reads aHotRodCounterEvent
with thelistener-id
.- Specified by:
readCounterEvent
in interfaceCodec
-
keyIterator
public <K> org.infinispan.commons.util.CloseableIterator<K> keyIterator(RemoteCache<K,?> remoteCache, OperationsFactory operationsFactory, int batchSize)
Description copied from interface:Codec
Creates a key iterator with the given batch size if applicable. This iterator does not support removal.- Specified by:
keyIterator
in interfaceCodec
- Returns:
-
readCacheEvent
public AbstractClientEvent readCacheEvent(io.netty.buffer.ByteBuf buf, Function<byte[],DataFormat> listenerDataFormat, short eventTypeId, org.infinispan.commons.configuration.ClassWhiteList whitelist, SocketAddress serverAddress)
- Specified by:
readCacheEvent
in interfaceCodec
-
returnPossiblePrevValue
public Object returnPossiblePrevValue(io.netty.buffer.ByteBuf buf, short status, int flags, org.infinispan.commons.configuration.ClassWhiteList whitelist, org.infinispan.commons.marshall.Marshaller marshaller)
- Specified by:
returnPossiblePrevValue
in interfaceCodec
-
createRemovedEvent
protected AbstractClientEvent createRemovedEvent(byte[] listenerId, Object key, boolean isRetried)
-
createModifiedEvent
protected AbstractClientEvent createModifiedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)
-
createCreatedEvent
protected AbstractClientEvent createCreatedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)
-
createCustomEvent
protected AbstractClientEvent createCustomEvent(byte[] listenerId, Object eventData, ClientEvent.Type eventType, boolean isRetried)
-
checkForErrorsInResponseStatus
protected void checkForErrorsInResponseStatus(io.netty.buffer.ByteBuf buf, HeaderParams params, short status, SocketAddress serverAddress)
-
readNewTopologyIfPresent
protected void readNewTopologyIfPresent(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)
-
readNewTopologyAndHash
protected void readNewTopologyAndHash(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)
-
-