Exemple #1
0
        public override void NotifyFailed(string deviceId, LoRaDeviceRequestFailedReason reason, Exception exception = null)
        {
            base.NotifyFailed(deviceId, reason, exception);

            this.ProcessingFailed       = true;
            this.ProcessingFailedReason = reason;
            this.complete.Release();
        }
        private void NotifyQueueItemsDueToError(LoRaDeviceRequestFailedReason loRaDeviceRequestFailedReason = LoRaDeviceRequestFailedReason.ApplicationError)
        {
            List <LoRaRequest> failedRequests;

            lock (this.queueLock)
            {
                failedRequests       = this.queuedRequests;
                this.queuedRequests  = new List <LoRaRequest>();
                LoadingDevicesFailed = true;
            }

            failedRequests.ForEach(x => x.NotifyFailed(loRaDeviceRequestFailedReason));
        }
Exemple #3
0
        private void LogRequestFailed(LoRaRequest request, LoRaDeviceRequestFailedReason failedReason)
        {
            var deviceId = ConversionHelper.ByteArrayToString(request.Payload.DevAddr);

            switch (failedReason)
            {
            case LoRaDeviceRequestFailedReason.NotMatchingDeviceByMicCheck:
                Logger.Log(deviceId, $"with devAddr {ConversionHelper.ByteArrayToString(request.Payload.DevAddr)} check MIC failed", LogLevel.Debug);
                break;

            case LoRaDeviceRequestFailedReason.NotMatchingDeviceByDevAddr:
                Logger.Log(deviceId, $"device is not our device, ignore message", LogLevel.Debug);
                break;

            case LoRaDeviceRequestFailedReason.ApplicationError:
                Logger.Log(deviceId, "problem resolving device", LogLevel.Error);
                break;
            }
        }
        private void LogRequestFailed(LoRaRequest request, LoRaDeviceRequestFailedReason failedReason)
        {
            switch (failedReason)
            {
            case LoRaDeviceRequestFailedReason.NotMatchingDeviceByMicCheck:
                this.logger.LogDebug($"with devAddr {request.Payload.DevAddr} check MIC failed");
                break;

            case LoRaDeviceRequestFailedReason.BelongsToAnotherGateway:
            case LoRaDeviceRequestFailedReason.NotMatchingDeviceByDevAddr:
                this.logger.LogDebug("device is not our device, ignore message");
                break;

            case LoRaDeviceRequestFailedReason.ApplicationError:
                this.logger.LogError("problem resolving device");
                break;

            case LoRaDeviceRequestFailedReason.InvalidNetId:
            case LoRaDeviceRequestFailedReason.InvalidUpstreamMessage:
            case LoRaDeviceRequestFailedReason.InvalidRegion:
            case LoRaDeviceRequestFailedReason.UnknownDevice:
            case LoRaDeviceRequestFailedReason.InvalidJoinRequest:
            case LoRaDeviceRequestFailedReason.HandledByAnotherGateway:
            case LoRaDeviceRequestFailedReason.JoinDevNonceAlreadyUsed:
            case LoRaDeviceRequestFailedReason.JoinMicCheckFailed:
            case LoRaDeviceRequestFailedReason.ReceiveWindowMissed:
            case LoRaDeviceRequestFailedReason.ConfirmationResubmitThresholdExceeded:
            case LoRaDeviceRequestFailedReason.InvalidFrameCounter:
            case LoRaDeviceRequestFailedReason.IoTHubProblem:
            case LoRaDeviceRequestFailedReason.DeduplicationDrop:
            case LoRaDeviceRequestFailedReason.DeviceClientConnectionFailed:
            default:
                this.logger.LogDebug("device request failed");
                break;
            }
        }
 public virtual void NotifyFailed(string deviceId, LoRaDeviceRequestFailedReason reason, Exception exception = null)
 {
 }
 internal virtual void NotifyFailed(LoRaDeviceRequestFailedReason reason, Exception exception = null) => NotifyFailed((string)null, reason, exception);
 internal void NotifyFailed(LoRaDevice loRaDevice, LoRaDeviceRequestFailedReason reason, Exception exception = null) => NotifyFailed(loRaDevice?.DevEUI.ToString(), reason, exception);
 public override void NotifyFailed(string deviceId, LoRaDeviceRequestFailedReason reason, Exception exception = null)
 {
     this.wrappedRequest.NotifyFailed(deviceId, reason, exception);
     this.LogProcessingTime(deviceId);
 }
 public LoRaDeviceRequestProcessResult(LoRaDevice loRaDevice, LoRaRequest request, LoRaDeviceRequestFailedReason failedReason)
 {
     this.LoRaDevice   = loRaDevice;
     this.Request      = request;
     this.FailedReason = failedReason;
 }
 internal void NotifyFailed(LoRaDevice loRaDevice, LoRaDeviceRequestFailedReason reason, Exception exception = null) => this.NotifyFailed(loRaDevice?.DevEUI, reason, exception);