Class Codec20
java.lang.Object
org.infinispan.client.hotrod.impl.protocol.Codec20
- All Implemented Interfaces:
Codec,HotRodConstants
- Direct Known Subclasses:
Codec21
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, VERSION_40 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) intbooleanisObjectStorageHinted(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.readCacheEvent(io.netty.buffer.ByteBuf buf, Function<byte[], DataFormat> listenerDataFormat, short eventTypeId, org.infinispan.commons.configuration.ClassAllowList allowList, SocketAddress serverAddress) readCounterEvent(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) returnPossiblePrevValue(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.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 HeaderParamswriteHeader(io.netty.buffer.ByteBuf buf, HeaderParams params, byte version) voidwriteMultimapSupportDuplicates(io.netty.buffer.ByteBuf buf, boolean supportsDuplicates) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.infinispan.client.hotrod.impl.protocol.Codec
allowOperationsAndEvents, entryIterator, isUnsafeForTheHandshake, readKeyType, readMeta, readProjectionSize, readValueType, writeIteratorStartOperation
-
Constructor Details
-
Codec20
public Codec20()
-
-
Method Details
-
writeClientListenerInterests
public void writeClientListenerInterests(io.netty.buffer.ByteBuf buf, Set<Class<? extends Annotation>> classes) - Specified by:
writeClientListenerInterestsin interfaceCodec
-
writeHeader
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
-
estimateHeaderSize
- 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
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- Type Parameters:
K-- Parameters:
remoteCache-operationsFactory-segments-batchSize-- Returns:
-
isObjectStorageHinted
Description copied from interface:CodecRead the response code for hints of object storage in the server.- Specified by:
isObjectStorageHintedin interfaceCodec
-
estimateSizeMultimapSupportsDuplicated
public int estimateSizeMultimapSupportsDuplicated()- Specified by:
estimateSizeMultimapSupportsDuplicatedin interfaceCodec- Returns:
- size that needs to be allocated in buffer for supportsDuplicates information.
-
writeMultimapSupportDuplicates
public void writeMultimapSupportDuplicates(io.netty.buffer.ByteBuf buf, boolean supportsDuplicates) - Specified by:
writeMultimapSupportDuplicatesin interfaceCodec- Parameters:
buf- , buffer which supportsDuplicates info will be written to.supportsDuplicates- , to see whether multimap cache supports duplicates or not.
-
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
-
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)
-