Skip to content

Commit 330405f

Browse files
committed
CSHARP-1375: Replaced custom AsyncLock with SemaphoreSlimRequest wrapping a SemaphoreSlim.
1 parent bfe9403 commit 330405f

File tree

6 files changed

+93
-279
lines changed

6 files changed

+93
-279
lines changed

src/MongoDB.Driver.Core.Tests/Core/Async/AsyncLockTests.cs

Lines changed: 0 additions & 113 deletions
This file was deleted.

src/MongoDB.Driver.Core.Tests/MongoDB.Driver.Core.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
<Reference Include="System.Xml.Linq" />
5353
</ItemGroup>
5454
<ItemGroup>
55-
<Compile Include="Core\Async\AsyncLockTests.cs" />
5655
<Compile Include="Core\Clusters\ElectionIdTests.cs" />
5756
<Compile Include="Core\Clusters\ReplicaSetConfigTests.cs" />
5857
<Compile Include="Core\Configuration\ClusterSettingsTests.cs" />

src/MongoDB.Driver.Core/Core/Async/AsyncLock.cs

Lines changed: 0 additions & 160 deletions
This file was deleted.

src/MongoDB.Driver.Core/Core/Connections/BinaryConnection.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ internal class BinaryConnection : IConnection
5252
private DateTime _openedAtUtc;
5353
private readonly object _openLock = new object();
5454
private Task _openTask;
55-
private readonly AsyncLock _receiveLock;
55+
private readonly SemaphoreSlim _receiveLock;
5656
private readonly SemaphoreSlim _sendLock;
5757
private readonly ConnectionSettings _settings;
5858
private readonly InterlockedInt32 _state;
@@ -86,7 +86,7 @@ public BinaryConnection(ServerId serverId, EndPoint endPoint, ConnectionSettings
8686
_backgroundTaskCancellationToken = _backgroundTaskCancellationTokenSource.Token;
8787

8888
_connectionId = new ConnectionId(serverId);
89-
_receiveLock = new AsyncLock();
89+
_receiveLock = new SemaphoreSlim(1);
9090
_sendLock = new SemaphoreSlim(1);
9191
_state = new InterlockedInt32(State.Initial);
9292

@@ -321,7 +321,7 @@ private IByteBuffer ReceiveBuffer()
321321

322322
private IByteBuffer ReceiveBuffer(int responseTo, CancellationToken cancellationToken)
323323
{
324-
using (var receiveLockRequest = _receiveLock.Request(cancellationToken))
324+
using (var receiveLockRequest = new SemaphoreSlimRequest(_receiveLock, cancellationToken))
325325
{
326326
var messageTask = _dropbox.GetMessageAsync(responseTo);
327327
try
@@ -382,7 +382,7 @@ private async Task<IByteBuffer> ReceiveBufferAsync()
382382

383383
private async Task<IByteBuffer> ReceiveBufferAsync(int responseTo, CancellationToken cancellationToken)
384384
{
385-
using (var receiveLockRequest = _receiveLock.Request(cancellationToken))
385+
using (var receiveLockRequest = new SemaphoreSlimRequest(_receiveLock, cancellationToken))
386386
{
387387
var messageTask = _dropbox.GetMessageAsync(responseTo);
388388
try

0 commit comments

Comments
 (0)