VersionedOperationResponse ReplaceIfUnmodifiedOperation::executeOperation( Transport& transport) { // 1) write header hr_scoped_ptr<infinispan::hotrod::protocol::HeaderParams> params( &(AbstractKeyOperation<VersionedOperationResponse>::writeHeader( transport, REPLACE_IF_UNMODIFIED_REQUEST))); //2) write message body transport.writeArray(key); transport.writeVInt(lifespan); transport.writeVInt(maxIdle); transport.writeLong(version); transport.writeArray(value); transport.flush(); return AbstractKeyValueOperation<VersionedOperationResponse>::returnVersionedOperationResponse(transport, *params); }
std::set<hrbytes> BulkGetKeysOperation::executeOperation(Transport& transport) { hr_scoped_ptr<HeaderParams> params(&(RetryOnFailureOperation<std::set<hrbytes> >::writeHeader(transport, BULK_GET_KEYS_REQUEST))); transport.writeVInt(scope); transport.flush(); RetryOnFailureOperation<std::set<hrbytes> >::readHeaderAndValidate(transport, *params); std::set<hrbytes> result; while (transport.readByte()==1) { result.insert(transport.readArray()); } return result; }
std::set<hrbytes> BulkGetKeysOperation::executeOperation(Transport& transport) { TRACE("Execute BulkGetKeys(flags=%u,scope=%d)", flags, scope); hr_scoped_ptr<HeaderParams> params(&(RetryOnFailureOperation<std::set<hrbytes> >::writeHeader(transport, BULK_GET_KEYS_REQUEST))); transport.writeVInt(scope); transport.flush(); RetryOnFailureOperation<std::set<hrbytes> >::readHeaderAndValidate(transport, *params); std::set<hrbytes> result; while (transport.readByte()==1) { result.insert(transport.readArray()); } if (logger.isTraceEnabled()) { for (std::set<hrbytes>::iterator it = result.begin(); it != result.end(); ++it) { TRACEBYTES("return key = ", *it); } if (result.size() == 0) { TRACE("No data in bulk"); } } return result; }