Beispiel #1
0
        private async void ProcessCompressedWorkItem(BsnesImportStreamProcessor.CompressedWorkItem compressedItem)
        {
            #if PROFILING
            var mainSpan = Markers.EnterSpan("BSNES ProcessCompressedWorkItem");
            #endif

            DecompressWorkItem(compressedItem);
            PartitionWorkItemQueue(compressedItem);
            var subTasks            = DispatchWorkersForCompressedWorkItem(compressedItem);
            var statsBytesCompleted = compressedItem.CompressedSize;
            streamProcessor.FreeCompressedWorkItem(ref compressedItem);
            await Task.WhenAll(subTasks);

            Stats_MarkCompleted(statsBytesCompleted);

            #if PROFILING
            mainSpan.Leave();
            #endif
        }