public async static void QueryBarrier(Context context, params string[] labels)
        {
            string MethodName           = "QueryBarrier";
            BarrierQueryRequest request = BarrierQueryRequest.ForBarriers(labels);
            var barrierTask             = Awareness.GetBarrierClient(context).QueryBarriersAsync(request);

            try
            {
                await barrierTask;

                if (barrierTask.IsCompleted)
                {
                    IBarrierStatusMap statusMap     = barrierTask.Result.BarrierStatusMap;
                    string            barrierLabel  = "target barrier label";
                    BarrierStatus     barrierStatus = statusMap.GetBarrierStatus(barrierLabel);
                    if (barrierStatus != null)
                    {
                        string logMessage = $"Target barrier status is {barrierStatus.PresentStatus}";
                        ShowToast(context, logMessage);
                        Log.Info(MethodName, logMessage);
                    }
                    else
                    {
                        Log.Info(MethodName, $"{MethodName} is success but there is no barrier.");
                    }
                }
                else
                {
                    string logMessage = "Query barrier failed";
                    ShowToast(context, logMessage);
                    Log.Error(MethodName, logMessage, barrierTask.Exception);
                }
            }
            catch (Exception ex)
            {
                string logMessage = "Query barrier failed";
                ShowToast(context, logMessage);
                Log.Error(MethodName, logMessage, ex.Message);
            }
        }
 public async Task <BarrierQueryResponse> QueryBarriersAsync(BarrierQueryRequest request) => await QueryBarriers(request).CastTask <BarrierQueryResponse>();