public async Task processInputQueue()

in DIXFSamples/RecurringIntegrationApp/Runtime/DefaultDataFlowNetwork.cs [133:167]


        public async Task processInputQueue()
        {
            if (!InputQueue.IsEmpty)
            {
                ClientDataMessage dataMessage;

                // For each item in the input queue, dequeue and move
                // item to the in process queue
                while (InputQueue.TryDequeue(out dataMessage))
                {
                    var targetDataMessage = new ClientDataMessage()
                    {
                        Name = dataMessage.Name,
                        FullPath = Path.Combine(Settings.InProcessDir, dataMessage.Name),
                        MessageStatus = MessageStatus.InProcess
                    };

                    // Move to inprocess location
                    await this.moveDataToTargetAsync(dataMessage, targetDataMessage);                        

                    // Enqueue to the inprocess queue
                    InprocessQueue.Enqueue(targetDataMessage);                    

                    // Update stats
                    base.formInstance.logText("File:  " + targetDataMessage.Name + " -  moved to inprocess location.");

                    Interlocked.Increment(ref inprocessJobCount);

                    base.formInstance.updateStats(StatType.Inprocess, inprocessJobCount);
                }
            }

            // Process uploads
            await processInprocessQueue();
        }