/// <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); }
/// <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); }