Beispiel #1
0
        /// <summary>
        /// Create id and send data to worker server
        /// </summary>
        /// <returns></returns>
        static string Step1()
        {
            //Route api holder
            var newconf = new Utils.RouteConf();
            //Endpoint (uses web api sender) that send and recieves objects from server
            var worker1x = new DiffLib.Endpoints.WorkerEndpoint(newconf, new DiffLib.WebApiSender(WorkerBaseAddr));
            var task     = worker1x.CreateIdAsync(B1);

            try
            {
                var realobj = task.GetAwaiter().GetResult();
                if (realobj == null)
                {
                    Console.WriteLine("Step1:Obj is null");
                }
                else
                {
                    Console.WriteLine("Result 1: " + realobj.Id);
                    return(realobj.Id);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exception: {e}");
            }
            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Request diff operation to central server
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        static string Step3(string id)
        {
            //Route api holder
            var newconf = new Utils.RouteConf();
            //Endpoint (uses web api sender) that send and recieves objects from server
            var worker1x = new DiffLib.Endpoints.CentralEndpoint(WorkerId, newconf, new DiffLib.WebApiSender(CentralBaseAddtr));
            var task     = worker1x.GetDiffAsync(id);

            try
            {
                var realobj = task.GetAwaiter().GetResult();
                if (realobj == null)
                {
                    Console.WriteLine("Step3:Obj is null");
                }
                else
                {
                    Console.WriteLine($"Result 3: {realobj.Id} | Result(enum):{realobj.Result.Result}");

                    //Decode string
                    var b1a = Convert.FromBase64String(realobj.Result.Data1);
                    var b2a = Convert.FromBase64String(realobj.Result.Data2);

                    //Outputs the byte arrays
                    Console.Write($"CentralB1 Length: {b1a.Length} Data: ");
                    foreach (var b in b1a)
                    {
                        Console.Write(((int)b).ToString() + ",");
                    }
                    Console.WriteLine("");
                    Console.Write($"CentralB2 Length: {b2a.Length} Data: ");
                    foreach (var b in b2a)
                    {
                        Console.Write(((int)b).ToString() + ",");
                    }
                    Console.WriteLine("");

                    //Outputs the offsets
                    if (realobj.Result.Offsets.Count > 0)
                    {
                        foreach (var o in realobj.Result.Offsets)
                        {
                            Console.WriteLine($"Offset: {o.Offset} Length: {o.Length}");
                        }
                    }
                    return(realobj.Id);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"Exception: {e}");
            }
            return(null);
        }