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>();