/// <summary> /// Gets broker client status /// </summary> /// <param name="clientId">indicating the client id</param> /// <returns>returns the broker client status</returns> public BrokerClientStatus GetBrokerClientStatus(string clientId) { try { ParamCheckUtility.ThrowIfNull(clientId, "clientId"); ParamCheckUtility.ThrowIfTooLong(clientId.Length, "clientId", Constant.MaxClientIdLength, SR.ClientIdTooLong); ParamCheckUtility.ThrowIfNotMatchRegex(ParamCheckUtility.ClientIdValid, clientId, "clientId", SR.InvalidClientId); BrokerTracing.TraceEvent(System.Diagnostics.TraceEventType.Information, 0, "[BrokerController] Get broker client status for Client {0}", clientId); this.ThrowIfDisposed(); this.CheckAuth(); BrokerClientState state = this.GetClient(clientId).State; return(BrokerClient.MapToBrokerClientStatus(state)); } catch (Exception e) { BrokerTracing.TraceEvent(System.Diagnostics.TraceEventType.Error, 0, "[BrokerController] Get broker client status for Client {1} Failed: {0}", e, clientId); throw TranslateException(e); } }