public override Task <ListServerReply> ListServer(ListServerRequest req, ServerCallContext _) { man.CheckFreeze(); var res = new ListServerReply(); var objs = store.ListObjs(); lock (objs) { foreach (KeyValuePair <string, string> e in objs) { res.Objs.Add(e.Key, e.Value); } } Lib.Sleep(new Random().Next(minDelay, maxDelay)); return(Task.FromResult(res)); }
public override Task <StatusReply> Status(StatusRequest req, ServerCallContext _) { if (man.IsFreeze) { Lib.WriteLine("Status: Freezed!"); } else { Lib.WriteLine("Status: Available!"); } var objs = store.ListObjs(); lock (objs) { foreach (var o in objs) { Lib.WriteLine(Lib.FormObj(o.Key, o.Value)); } } return(Task.FromResult(new StatusReply() { Code = man.IsFreeze ? 1 : 0 })); }