Exemplo n.º 1
0
        /// <summary>
        /// Gets or creates the cache.
        /// </summary>
        private ICache <TK, TV> GetOrCreateCache <TK, TV>(CacheConfiguration configuration,
                                                          NearCacheConfiguration nearConfiguration, PlatformNearCacheConfiguration platformNearConfiguration, Op op)
        {
            IgniteArgumentCheck.NotNull(configuration, "configuration");
            IgniteArgumentCheck.NotNull(configuration.Name, "CacheConfiguration.Name");
            configuration.Validate(Logger);

            var cacheTarget = DoOutOpObject((int)op, s =>
            {
                var w = BinaryUtils.Marshaller.StartMarshal(s);

                configuration.Write(w, ClientSocket.CurrentProtocolVersion);

                if (nearConfiguration != null)
                {
                    w.WriteBoolean(true);
                    nearConfiguration.Write(w);
                }
                else
                {
                    w.WriteBoolean(false);
                }

                if (platformNearConfiguration != null)
                {
                    w.WriteBoolean(true);
                    platformNearConfiguration.Write(w);
                }
                else
                {
                    w.WriteBoolean(false);
                }
            });

            return(GetCache <TK, TV>(cacheTarget));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets or creates near cache.
        /// </summary>
        private ICache <TK, TV> GetOrCreateNearCache0 <TK, TV>(string name, NearCacheConfiguration configuration,
                                                               PlatformNearCacheConfiguration platformConfiguration,
                                                               Op op)
        {
            IgniteArgumentCheck.NotNull(configuration, "configuration");

            var cacheTarget = DoOutOpObject((int)op, w =>
            {
                w.WriteString(name);
                configuration.Write(w);

                if (platformConfiguration != null)
                {
                    w.WriteBoolean(true);
                    platformConfiguration.Write(w);
                }
                else
                {
                    w.WriteBoolean(false);
                }
            });

            return(GetCache <TK, TV>(cacheTarget));
        }