Пример #1
0
        public void Init()
        {
            _client = new Client.Core.CacheClient();
            var channel = new InProcessChannel();

            _client.Channel = channel;

            var cfg          = new ServerConfig();
            var cfgDatastore = new ServerDatastoreConfig
            {
                Eviction =
                    new EvictionPolicyConfig(
                        EvictionType.LessRecentlyUsed, 100, 10),
                FullTypeName = typeof(CacheableTypeOk).FullName
            };

            //activate eviction when more than 100 items in cache (evict 10 items)
            cfg.ConfigByType.Add(cfgDatastore.FullTypeName, cfgDatastore);
            _server = new Server.Server(cfg)
            {
                Channel = channel
            };
            _server.Start();

            _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk));
        }
        public void Init()
        {
            _client = new CacheClient();
            var channel = new InProcessChannel();

            _client.Channel = channel;
            _server         = new Server.Server(new NodeConfig())
            {
                Channel = channel
            };
            _server.Start();

            _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk));
            _client.RegisterTypeIfNeeded(typeof(TradeLike));

            var serverDesc = _client.GetClusterInformation();

            _parser = new CommandLineParser(serverDesc);

            Logger.CommandLogger = _logger;

            if (File.Exists("export_test.json"))
            {
                File.Delete("export_test.json");
            }
        }
Пример #3
0
        public void ExecuteCommands()
        {
            var client  = new CacheClient();
            var channel = new InProcessChannel();

            client.Channel = channel;
            var server = new Server.Server(new NodeConfig())
            {
                Channel = channel
            };

            server.Start();


            client.RegisterTypeIfNeeded(typeof(TradeLike));


            var serverDesc = client.GetClusterInformation();

            Assert.AreEqual(serverDesc.Schema.Length, 1);
            var parser = new CommandLineParser(serverDesc);

            var cmd = parser.Parse("desc");

            cmd.TryExecute(client);


            cmd = parser.Parse("desc TRADELIKE");
            cmd.TryExecute(client);


            cmd = parser.Parse("count from TRADELIKE where folder=aaa ");
            cmd.TryExecute(client);
        }
        public void Init()
        {
            _client = new CacheClient();
            var channel = new InProcessChannel();

            _client.Channel = channel;


            _server = new Server.Server(new ServerConfig())
            {
                Channel = channel
            };
            _server.Start();

            _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk));

            var cfg = new ClientConfig();

            cfg.LoadFromFile("CacheClientConfig.xml");

            foreach (var description in cfg.TypeDescriptions)
            {
                if (description.Value.FullTypeName == "UnitTests.TestData.Trade")
                {
                    _client.RegisterTypeIfNeeded(typeof(Trade), description.Value);
                }
            }
        }
Пример #5
0
        public Connector(ClientConfig config)
        {
            if (Client == null)
            {
                if (config.Servers == null || config.Servers.Count == 0)
                {
                    var channel = new InProcessChannel();
                    Client = new DataClient {
                        Channel = channel
                    };

                    _server = new Server.Server(new NodeConfig
                    {
                        IsPersistent = config.IsPersistent,
                        DataPath     = "."
                    })
                    {
                        Channel = channel
                    };

                    _server.Start();
                }
                else if (config.Servers.Count == 1)
                {
                    var serverCfg = config.Servers[0];

                    var channel = new TcpClientChannel(new TcpClientPool(4, 1, serverCfg.Host, serverCfg.Port));

                    Client = new DataClient {
                        Channel = channel
                    };
                }
                else // multiple servers
                {
                    var aggregator = new DataAggregator();

                    var index = 0;
                    foreach (var serverConfig in config.Servers)
                    {
                        var channel =
                            new TcpClientChannel(new TcpClientPool(4, 1, serverConfig.Host, serverConfig.Port));

                        var client = new DataClient
                        {
                            Channel     = channel,
                            ShardIndex  = index,
                            ShardsCount = config.Servers.Count
                        };
                        aggregator.CacheClients.Add(client);
                        index++;
                    }


                    Client = aggregator;
                }
            }
        }
Пример #6
0
        public void Init()
        {
            _client = new CacheClient();
            var channel = new InProcessChannel();

            _client.Channel = channel;


            _server = new Server.Server(new NodeConfig())
            {
                Channel = channel
            };
            _server.Start();

            _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk));
        }
Пример #7
0
        public void Init()
        {
            _client = new DataClient();
            var channel = new InProcessChannel();

            _client.Channel = channel;


            _server = new Server.Server(new NodeConfig())
            {
                Channel = channel
            };
            _server.Start();

            _client.DeclareCollection <CacheableTypeOk>();
            _client.DeclareCollection <Trade>();
        }
Пример #8
0
        public Connector(ClientConfig config)
        {
            if (Client == null)
            {
                if (config.Servers == null || config.Servers.Count == 0)
                {
                    var channel = new InProcessChannel();
                    Client = new CacheClient {
                        Channel = channel
                    };

                    _server = new Server.Server(new ServerConfig(), config.IsPersistent)
                    {
                        Channel = channel
                    };

                    _server.Start();
                }
                else if (config.Servers.Count == 1)
                {
                    var serverCfg = config.Servers[0];

                    var channel = new TcpClientChannel(new TcpClientPool(4, 1, serverCfg.Host, serverCfg.Port));

                    Client = new CacheClient {
                        Channel = channel
                    };
                }
                else // multiple servers
                {
                    var aggregator = new Aggregator();

                    var index = 0;
                    foreach (var serverConfig in config.Servers)
                    {
                        var channel =
                            new TcpClientChannel(new TcpClientPool(4, 1, serverConfig.Host, serverConfig.Port));

                        var client = new CacheClient
                        {
                            Channel     = channel,
                            ShardIndex  = index,
                            ShardsCount = config.Servers.Count
                        };
                        aggregator.CacheClients.Add(client);
                        index++;
                    }


                    Client = aggregator;
                }
            }


            // register types from client configuration
            foreach (var description in config.TypeDescriptions)
            {
                var type            = Type.GetType(description.Value.FullTypeName + ", " + description.Value.AssemblyName);
                var typeDescription = Client.RegisterTypeIfNeeded(type, description.Value);

                _typeDescriptions.Add(typeDescription.FullTypeName, typeDescription);
            }
        }