Ejemplo n.º 1
0
        private static void TestClient()
        {
            //return;
            // Create a new client
            var client = new DistributedConnection(new TCPSocket("localhost", 5000), "localhost", "demo", "1234");

            // Put the client in our memory store
            var remote = Warehouse.GetStore("remote");

            Warehouse.Put(client, "Endpoint", remote);


            client.OnReady += async(c) =>
            {
                // Get remote object from the server.
                remoteObject = await client.Get("db/my").Task as DistributedResource;

                dynamic x = remoteObject;

                Console.WriteLine("My Name is: " + x.Name);
                x.Name     = "Hamoo";
                x.LevelUp += new DistributedResourceEvent((sender, parameters) =>
                {
                    Console.WriteLine("LevelUp " + parameters[0] + " " + parameters[1]);
                });

                x.LevelDown += new DistributedResourceEvent((sender, parameters) =>
                {
                    Console.WriteLine("LevelUp " + parameters[0] + " " + parameters[1]);
                });

                (x.Stream(10) as AsyncReply).Then(r =>
                {
                    Console.WriteLine("Stream ended: " + r);
                }).Chunk(r =>
                {
                    Console.WriteLine("Chunk..." + r);
                }).Progress((t, v, m) => Console.WriteLine("Processing {0}/{1}", v, m));

                var rt = await x.Subtract(10).Task;

                //var rt2 = await x.Add(10).Task;

                Console.WriteLine(rt);

                /*
                 * (x.Subtract(10) as AsyncReply).Then((r) =>
                 * {
                 *  Console.WriteLine("Subtracted: " + r + " " + x.Level);
                 * }).Error((ex) =>
                 * {
                 *  Console.WriteLine("Exception " + ex.Code + " " + ex.Message);
                 * });
                 *
                 * // Getting object record
                 * client.GetRecord(remoteObject, DateTime.Now - TimeSpan.FromDays(1), DateTime.Now).Then(record =>
                 * {
                 *  Console.WriteLine("Records received: " + record.Count);
                 * });
                 *
                 * var t = new Timer(T_Elapsed, null, 5000, 5000);
                 */
            };
        }