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_BLOOM_FILTER_NEAR_CACHE_LISTENER_REQUEST, ADD_BLOOM_FILTER_NEAR_CACHE_LISTENER_RESPONSE, 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, FETCH_TX_RECOVERY_REQUEST, FETCH_TX_RECOVERY_RESPONSE, FORGET_TX_REQUEST, FORGET_TX_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_OBJ_STORAGE, NODE_SUSPECTED, NOT_EXECUTED_WITH_PREVIOUS, NOT_EXECUTED_WITH_PREVIOUS_OBJ_STORAGE, NOT_PUT_REMOVED_REPLACED_STATUS, PING_REQUEST, PING_RESPONSE, PREPARE_REQUEST, PREPARE_RESPONSE, PREPARE_TX_2_REQUEST, PREPARE_TX_2_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_OBJ_STORAGE, SWITCH_CLUSTER_TOPOLOGY, UNKNOWN_COMMAND_STATUS, UNKNOWN_VERSION_STATUS, UPDATE_BLOOM_FILTER_REQUEST, UPDATE_BLOOM_FILTER_RESPONSE, VERSION_20, VERSION_21, VERSION_22, VERSION_23, VERSION_24, VERSION_25, VERSION_26, VERSION_27, VERSION_28, VERSION_29, VERSION_30, VERSION_31
-
-
Constructor Summary
Constructors Constructor Description Codec20()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckForErrorsInResponseStatus(io.netty.buffer.ByteBuf buf, HeaderParams params, short status, SocketAddress serverAddress)protected AbstractClientEventcreateCreatedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)protected AbstractClientEventcreateCustomEvent(byte[] listenerId, Object eventData, ClientEvent.Type eventType, boolean isRetried)protected AbstractClientEventcreateModifiedEvent(byte[] listenerId, Object key, long dataVersion, boolean isRetried)protected AbstractClientEventcreateRemovedEvent(byte[] listenerId, Object key, boolean isRetried)intestimateExpirationSize(long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)intestimateHeaderSize(HeaderParams params)booleanisObjectStorageHinted(PingResponse pingResponse)Read the response code for hints of object storage in the server.<K> org.infinispan.commons.util.CloseableIterator<K>keyIterator(RemoteCache<K,?> remoteCache, OperationsFactory operationsFactory, org.infinispan.commons.util.IntSet segments, int batchSize)Creates a key iterator with the given batch size if applicable.AbstractClientEventreadCacheEvent(io.netty.buffer.ByteBuf buf, Function<byte[],DataFormat> listenerDataFormat, short eventTypeId, org.infinispan.commons.configuration.ClassAllowList allowList, SocketAddress serverAddress)HotRodCounterEventreadCounterEvent(io.netty.buffer.ByteBuf buf)Reads aHotRodCounterEventwith thelistener-id.shortreadHeader(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.longreadMessageId(io.netty.buffer.ByteBuf buf)protected voidreadNewTopologyAndHash(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)protected voidreadNewTopologyIfPresent(io.netty.buffer.ByteBuf buf, HeaderParams params, ChannelFactory channelFactory)shortreadOpCode(io.netty.buffer.ByteBuf buf)ObjectreturnPossiblePrevValue(io.netty.buffer.ByteBuf buf, short status, DataFormat dataFormat, int flags, org.infinispan.commons.configuration.ClassAllowList allowList, org.infinispan.commons.marshall.Marshaller marshaller)voidwriteBloomFilter(io.netty.buffer.ByteBuf buf, int bloomFilterBits)voidwriteClientListenerInterests(io.netty.buffer.ByteBuf buf, Set<Class<? extends Annotation>> classes)voidwriteClientListenerParams(io.netty.buffer.ByteBuf buf, ClientListener clientListener, byte[][] filterFactoryParams, byte[][] converterFactoryParams)Writes client listener parametersvoidwriteExpirationParams(io.netty.buffer.ByteBuf buf, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)Write lifespan/maxidle parameters.HeaderParamswriteHeader(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 HeaderParamswriteHeader(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, readKeyType, readMeta, readProjectionSize, readValueType, writeIteratorStartOperation
-
-
-
-
Method Detail
-
writeClientListenerInterests
public void writeClientListenerInterests(io.netty.buffer.ByteBuf buf, Set<Class<? extends Annotation>> classes)- Specified by:
writeClientListenerInterestsin interfaceCodec
-
writeHeader
public HeaderParams writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params)
Description copied from interface:CodecWrites a request header with the given parameters to the transport and returns an updated header parameters.- Specified by:
writeHeaderin interfaceCodec
-
writeClientListenerParams
public void writeClientListenerParams(io.netty.buffer.ByteBuf buf, ClientListener clientListener, byte[][] filterFactoryParams, byte[][] converterFactoryParams)Description copied from interface:CodecWrites client listener parameters- Specified by:
writeClientListenerParamsin interfaceCodec
-
writeExpirationParams
public void writeExpirationParams(io.netty.buffer.ByteBuf buf, long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)Description copied from interface:CodecWrite lifespan/maxidle parameters.- Specified by:
writeExpirationParamsin interfaceCodec
-
writeBloomFilter
public void writeBloomFilter(io.netty.buffer.ByteBuf buf, int bloomFilterBits)- Specified by:
writeBloomFilterin interfaceCodec
-
estimateExpirationSize
public int estimateExpirationSize(long lifespan, TimeUnit lifespanTimeUnit, long maxIdle, TimeUnit maxIdleTimeUnit)- Specified by:
estimateExpirationSizein interfaceCodec
-
writeHeader
protected HeaderParams writeHeader(io.netty.buffer.ByteBuf buf, HeaderParams params, byte version)
-
estimateHeaderSize
public int estimateHeaderSize(HeaderParams params)
- Specified by:
estimateHeaderSizein interfaceCodec
-
readMessageId
public long readMessageId(io.netty.buffer.ByteBuf buf)
- Specified by:
readMessageIdin interfaceCodec
-
readOpCode
public short readOpCode(io.netty.buffer.ByteBuf buf)
- Specified by:
readOpCodein interfaceCodec
-
readHeader
public short readHeader(io.netty.buffer.ByteBuf buf, double receivedOpCode, HeaderParams params, ChannelFactory channelFactory, SocketAddress serverAddress)Description copied from interface:CodecReads a response header from the transport and returns the status of the response.- Specified by:
readHeaderin interfaceCodec
-
readCounterEvent
public HotRodCounterEvent readCounterEvent(io.netty.buffer.ByteBuf buf)
Description copied from interface:CodecReads aHotRodCounterEventwith thelistener-id.- Specified by:
readCounterEventin interfaceCodec
-
keyIterator
public <K> org.infinispan.commons.util.CloseableIterator<K> keyIterator(RemoteCache<K,?> remoteCache, OperationsFactory operationsFactory, org.infinispan.commons.util.IntSet segments, int batchSize)
Description copied from interface:CodecCreates a key iterator with the given batch size if applicable. This iterator does not support removal.- Specified by:
keyIteratorin interfaceCodec- Returns:
-
isObjectStorageHinted
public boolean isObjectStorageHinted(PingResponse pingResponse)
Description copied from interface:CodecRead the response code for hints of object storage in the server.- Specified by:
isObjectStorageHintedin interfaceCodec
-
readCacheEvent
public AbstractClientEvent readCacheEvent(io.netty.buffer.ByteBuf buf, Function<byte[],DataFormat> listenerDataFormat, short eventTypeId, org.infinispan.commons.configuration.ClassAllowList allowList, SocketAddress serverAddress)
- Specified by:
readCacheEventin interfaceCodec
-
returnPossiblePrevValue
public Object returnPossiblePrevValue(io.netty.buffer.ByteBuf buf, short status, DataFormat dataFormat, int flags, org.infinispan.commons.configuration.ClassAllowList allowList, org.infinispan.commons.marshall.Marshaller marshaller)
- Specified by:
returnPossiblePrevValuein 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)
-
-