public void SetResponseCode(MqttClientPublishReasonCode code) { var publishResult = new MqttClientPublishResult() { ReasonCode = code }; // Ensure that when the MQTT Client is called, it's published message is saved and that it returns // the specified response code MqttClient.Setup(m => m.PublishAsync(It.IsAny <MqttApplicationMessage>(), It.IsAny <CancellationToken>())) .Callback <MqttApplicationMessage, CancellationToken>((message, token) => { LastPublishedMessage = message; }) .ReturnsAsync(publishResult); }
/// <summary> /// Constructor. /// </summary> /// <param name="reasonCode">-</param> /// <param name="errorMessage">-</param> public CouldNotSendMqttMessageException(MqttClientPublishReasonCode reasonCode, string errorMessage) { ReasonCode = reasonCode; ErrorMessage = errorMessage; }
bool IsTemporaryFailure(MqttClientPublishReasonCode publishResultCode) => publishResultCode == MqttClientPublishReasonCode.QuotaExceeded;