public void Execute() { // flatten var payloads = _received.GetOrCreate(); var result = new int[payloads.Count][]; var count = 0; foreach (var entry in payloads) { result[count++] = entry; } _isDispatchWaiting.Value = false; payloads.Clear(); _dispatchListener.Dispatched(result); }
public void Execute() { var local = LocalData; // flatten LinkedList <int[]> payloads = local.Received; int[][] result = new int[payloads.Count][]; int count = 0; foreach (int[] entry in payloads) { result[count++] = entry; } local.IsDispatchWaiting = false; payloads.Clear(); dispatchListener.Dispatched(result); }