public async static Task <StatusUpdate> GetStatus(string kind, string key) { await Locker.WaitAsync(); try { StatusUpdate status = Board.FirstOrDefault((s) => ((s.Kind == kind) && (s.Key == key))); if (status != null) { Board.Remove(status); return(status); } return(new StatusUpdate() { Kind = "noStatus", Key = "", Value = "" }); } finally { Locker.Release(); } }
public async static Task PutStatus(StatusUpdate status) { await Locker.WaitAsync(); try { Board.Add(status); } finally { Locker.Release(); } }