Example #1
0
        /** <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));
        }
Example #2
0
        /// <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()));
        }
        /// <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()));
        }
Example #4
0
        /** <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));
        }
Example #5
0
        /** <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));
        }
Example #6
0
        /// <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;
        }
Example #7
0
        /** <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));
        }
Example #8
0
        /** <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));
        }
Example #9
0
 /** <inheritDoc /> */
 public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc)
 {
     return(_cache.WithExpiryPolicy(plc).WrapAsync());
 }
Example #10
0
 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));
 }
Example #13
0
        /** <inheritDoc /> */
        public ICacheClient <TK, TV> WithExpiryPolicy(IExpiryPolicy plc)
        {
            IgniteArgumentCheck.NotNull(plc, "plc");

            return(new CacheClient <TK, TV>(_ignite, _name, _keepBinary, plc));
        }
Example #14
0
 /** <inheritDoc /> */
 public ICache <TK, TV> WithExpiryPolicy(IExpiryPolicy plc)
 {
     return(new CacheProxyImpl <TK, TV>((CacheImpl <TK, TV>)_cache.WithExpiryPolicy(plc)));
 }