/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); var cache0 = DoOutOpObject((int)CacheOp.WithExpiryPolicy, w => ExpiryPolicySerializer.WritePolicy(w, plc)); return(new CacheImpl <TK, TV>(_ignite, cache0, Marshaller, _flagSkipStore, _flagKeepBinary, _flagNoRetries)); }
/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); var cache0 = DoOutOpObject((int)CacheOp.WithExpiryPolicy, w => ExpiryPolicySerializer.WritePolicy(w, plc)); return(new CacheImpl <TK, TV>(cache0, _flagSkipStore, _flagKeepBinary, _flagNoRetries, _flagPartitionRecover, _flagAllowAtomicOpsInTx)); }
/// <summary> /// Writes the request. /// </summary> private void WriteRequest(Action<ClientRequestContext> writeAction, ClientRequestContext ctx) { ctx.Stream.WriteInt(_id); if (_expiryPolicy != null) { ctx.Features.ValidateWithExpiryPolicyFlag(); ctx.Stream.WriteByte((byte) ClientCacheRequestFlag.WithExpiryPolicy); ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy); } else ctx.Stream.WriteByte((byte) ClientCacheRequestFlag.None); // Flags (skipStore, etc). if (writeAction != null) { writeAction(ctx); } }
/// <summary> /// Writes the request. /// </summary> private void WriteRequest(Action <BinaryWriter> writeAction, IBinaryStream stream) { stream.WriteInt(_id); var writer = _marsh.StartMarshal(stream); if (_expiryPolicy != null) { stream.WriteByte((byte)ClientCacheRequestFlag.WithExpiryPolicy); ExpiryPolicySerializer.WritePolicy(writer, _expiryPolicy); } else { stream.WriteByte((byte)ClientCacheRequestFlag.None); // Flags (skipStore, etc). } if (writeAction != null) { writeAction(writer); _marsh.FinishMarshal(writer); } }
/// <summary> /// Writes the request. /// </summary> private void WriteRequest(Action <ClientRequestContext> writeAction, ClientRequestContext ctx) { ctx.Stream.WriteInt(_id); if (_expiryPolicy != null) { // Check whether WithExpiryPolicy is supported by the protocol here - // ctx.ProtocolVersion refers to exact connection for this request. ClientUtils.ValidateOp( ClientCacheRequestFlag.WithExpiryPolicy, ctx.ProtocolVersion, ClientSocket.Ver150); ctx.Stream.WriteByte((byte)ClientCacheRequestFlag.WithExpiryPolicy); ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy); } else { ctx.Stream.WriteByte((byte)ClientCacheRequestFlag.None); // Flags (skipStore, etc). } if (writeAction != null) { writeAction(ctx); } }
/// <summary> /// Writes the request. /// </summary> private void WriteRequest(Action <ClientRequestContext> writeAction, ClientRequestContext ctx) { ctx.Stream.WriteInt(_id); var flags = ClientCacheRequestFlag.None; if (_expiryPolicy != null) { ctx.Features.ValidateWithExpiryPolicyFlag(); flags = flags | ClientCacheRequestFlag.WithExpiryPolicy; } var tx = _ignite.Transactions.Tx; if (tx != null) { flags |= ClientCacheRequestFlag.WithTransactional; } ctx.Stream.WriteByte((byte)flags); if ((flags & ClientCacheRequestFlag.WithExpiryPolicy) == ClientCacheRequestFlag.WithExpiryPolicy) { ExpiryPolicySerializer.WritePolicy(ctx.Writer, _expiryPolicy); } if ((flags & ClientCacheRequestFlag.WithTransactional) == ClientCacheRequestFlag.WithTransactional) { // ReSharper disable once PossibleNullReferenceException flag is set only if tx != null ctx.Writer.WriteInt(tx.Id); } if (writeAction != null) { writeAction(ctx); } }