/** <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)); }
/// <summary> /// Writes the policy. /// </summary> public static void WritePolicy(IBinaryRawWriter writer, IExpiryPolicy plc) { Debug.Assert(plc != null); Debug.Assert(writer != null); writer.WriteLong(ConvertDuration(plc.GetExpiryForCreate())); writer.WriteLong(ConvertDuration(plc.GetExpiryForUpdate())); writer.WriteLong(ConvertDuration(plc.GetExpiryForAccess())); }
/** <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)); }
/** <inheritDoc /> */ public ICacheClient <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); // WithExpiryPolicy is not supported on protocols older than 1.5.0. // However, we can't check that here because of partition awareness, reconnect and so on: // We don't know which connection is going to be used. This connection may not even exist yet. // See WriteRequest. return(new CacheClient <TK, TV>(_ignite, _name, _keepBinary, plc)); }
/// <summary> /// Initializes a new instance of the <see cref="CacheClient{TK, TV}" /> class. /// </summary> /// <param name="ignite">Ignite.</param> /// <param name="name">Cache name.</param> /// <param name="keepBinary">Binary mode flag.</param> /// /// <param name="expiryPolicy">Expire policy.</param> public CacheClient(IgniteClient ignite, string name, bool keepBinary = false, IExpiryPolicy expiryPolicy = null) { Debug.Assert(ignite != null); Debug.Assert(name != null); _name = name; _ignite = ignite; _marsh = _ignite.Marshaller; _id = BinaryUtils.GetCacheId(name); _keepBinary = keepBinary; _expiryPolicy = expiryPolicy; }
/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); long create = ConvertDuration(plc.GetExpiryForCreate()); long update = ConvertDuration(plc.GetExpiryForUpdate()); long access = ConvertDuration(plc.GetExpiryForAccess()); IUnmanagedTarget cache0 = UU.CacheWithExpiryPolicy(Target, create, update, access); return(new CacheImpl <TK, TV>(_ignite, cache0, Marshaller, _flagSkipStore, _flagKeepBinary, _flagAsync, _flagNoRetries)); }
/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); long create = ConvertDuration(plc.GetExpiryForCreate()); long update = ConvertDuration(plc.GetExpiryForUpdate()); long access = ConvertDuration(plc.GetExpiryForAccess()); IUnmanagedTarget cache0 = DoOutOpObject((int)CacheOp.WithExpiryPolicy, w => { w.WriteLong(create); w.WriteLong(update); w.WriteLong(access); }); return(new CacheImpl <TK, TV>(_ignite, cache0, Marshaller, _flagSkipStore, _flagKeepBinary, _flagNoRetries)); }
/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { return(_cache.WithExpiryPolicy(plc).WrapAsync()); }
public ICacheClient <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { throw new NotSupportedException(); }
public ICache <int, int> WithExpiryPolicy(IExpiryPolicy plc) { return(new CacheEx { ExpiryPolicy = plc }); }
/** <inheritDoc /> */ public ICacheClient <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { return(_cache.WithExpiryPolicy(plc)); }
/** <inheritDoc /> */ public ICacheClient <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { IgniteArgumentCheck.NotNull(plc, "plc"); return(new CacheClient <TK, TV>(_ignite, _name, _keepBinary, plc)); }
/** <inheritDoc /> */ public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc) { return(new CacheProxyImpl <TK, TV>((CacheImpl <TK, TV>)_cache.WithExpiryPolicy(plc))); }