Detriplicate internal SingleProducerSingleConsumerQueue (#76932)
authorStephen Toub <stoub@microsoft.com>
Mon, 24 Oct 2022 19:39:25 +0000 (15:39 -0400)
committerGitHub <noreply@github.com>
Mon, 24 Oct 2022 19:39:25 +0000 (15:39 -0400)
commit70fb135073c680eab1956e41836c8eb3fe0d8389
tree2fef818dfbc216e977aadda448914c2c64c285ea
parent0c0102d90a46e33166cad71c2aa94240b40e49ee
Detriplicate internal SingleProducerSingleConsumerQueue (#76932)

System.Private.CoreLib, System.Threading.Tasks.Dataflow, and System.Threading.Channels have all ended up with their own copy of SingleProducerSingleConsumerQueue and its associated helpers.  This consolidates them down to a single shared copy.

There's no functional change here, just deleting duplicates and moving things around.
12 files changed:
src/libraries/Common/src/System/Collections/Concurrent/IProducerConsumerQueue.cs [new file with mode: 0644]
src/libraries/Common/src/System/Collections/Concurrent/MultiProducerMultiConsumerQueue.cs [new file with mode: 0644]
src/libraries/Common/src/System/Collections/Concurrent/SingleProducerSingleConsumerQueue.cs [moved from src/libraries/Common/src/System/Collections/Concurrent/SingleProducerConsumerQueue.cs with 74% similarity]
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/ConcurrentExclusiveSchedulerPair.cs
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/ProducerConsumerQueues.cs [deleted file]
src/libraries/System.Threading.Channels/src/System.Threading.Channels.csproj
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/ProducerConsumerQueues.cs [deleted file]
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/SourceCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/SpscTargetCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/Internal/TargetCore.cs
src/libraries/System.Threading.Tasks.Dataflow/src/System.Threading.Tasks.Dataflow.csproj