Skip to content

Commit 7ba2613

Browse files
james-fairbairnsanikachavan5
authored andcommitted
Configure await false everywhere(cnblogs#247)
refactor: configure await false everywhere
1 parent 5eb98fa commit 7ba2613

14 files changed

+102
-103
lines changed

src/Enyim.Caching/DistributedCache.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ byte[] IDistributedCache.Get(string key)
2424

2525
async Task<byte[]> IDistributedCache.GetAsync(string key, CancellationToken token = default)
2626
{
27-
var value = await GetValueAsync<byte[]>(key);
27+
var value = await GetValueAsync<byte[]>(key).ConfigureAwait(false);
2828

2929
if (value != null)
3030
{
31-
await RefreshAsync(key);
31+
await RefreshAsync(key).ConfigureAwait(false);
3232
}
3333

3434
return value;
@@ -58,17 +58,17 @@ void IDistributedCache.Set(string key, byte[] value, DistributedCacheEntryOption
5858
{
5959
if (!HasSlidingExpiration(options))
6060
{
61-
await PerformStoreAsync(StoreMode.Set, key, value, 0);
61+
await PerformStoreAsync(StoreMode.Set, key, value, 0).ConfigureAwait(false);
6262
return;
6363
}
6464

6565
var expiration = GetExpiration(options);
66-
await PerformStoreAsync(StoreMode.Set, key, value, expiration);
66+
await PerformStoreAsync(StoreMode.Set, key, value, expiration).ConfigureAwait(false);
6767

6868
if (options.SlidingExpiration.HasValue)
6969
{
7070
var sldExp = options.SlidingExpiration.Value;
71-
await AddAsync(GetSlidingExpirationKey(key), sldExp.ToString(), sldExp);
71+
await AddAsync(GetSlidingExpirationKey(key), sldExp.ToString(), sldExp).ConfigureAwait(false);
7272
}
7373
}
7474

@@ -108,15 +108,15 @@ public void Refresh(string key)
108108
public async Task RefreshAsync(string key, CancellationToken token = default)
109109
{
110110
var sldExpKey = GetSlidingExpirationKey(key);
111-
var sldExpStr = await GetValueAsync<string>(sldExpKey);
111+
var sldExpStr = await GetValueAsync<string>(sldExpKey).ConfigureAwait(false);
112112
if (!string.IsNullOrEmpty(sldExpStr)
113113
&& TimeSpan.TryParse(sldExpStr, out var sldExp))
114114
{
115-
var value = (await GetAsync(key)).Value;
115+
var value = (await GetAsync(key).ConfigureAwait(false)).Value;
116116
if (value != null)
117117
{
118-
await ReplaceAsync(key, value, sldExp);
119-
await ReplaceAsync(sldExpKey, sldExpStr, sldExp);
118+
await ReplaceAsync(key, value, sldExp).ConfigureAwait(false);
119+
await ReplaceAsync(sldExpKey, sldExpStr, sldExp).ConfigureAwait(false);
120120
}
121121
}
122122
}
@@ -129,8 +129,8 @@ void IDistributedCache.Remove(string key)
129129

130130
async Task IDistributedCache.RemoveAsync(string key, CancellationToken token = default)
131131
{
132-
await RemoveAsync(key);
133-
await RemoveAsync(GetSlidingExpirationKey(key));
132+
await RemoveAsync(key).ConfigureAwait(false);
133+
await RemoveAsync(GetSlidingExpirationKey(key)).ConfigureAwait(false);
134134
}
135135

136136
private uint GetExpiration(DistributedCacheEntryOptions options)

src/Enyim.Caching/Memcached/MemcachedNode.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ public async Task<IPooledSocketResult> AcquireAsync()
211211
var result = new PooledSocketResult();
212212
if (!_isInitialized)
213213
{
214-
if (!await poolInitSemaphore.WaitAsync(_initPoolTimeout))
214+
if (!await poolInitSemaphore.WaitAsync(_initPoolTimeout).ConfigureAwait(false))
215215
{
216216
return result.Fail("Timeout to poolInitSemaphore.Wait", _logger) as PooledSocketResult;
217217
}
@@ -221,7 +221,7 @@ public async Task<IPooledSocketResult> AcquireAsync()
221221
if (!_isInitialized)
222222
{
223223
var startTime = DateTime.Now;
224-
await _internalPoolImpl.InitPoolAsync();
224+
await _internalPoolImpl.InitPoolAsync().ConfigureAwait(false);
225225
_isInitialized = true;
226226

227227
if (_logger.IsEnabled(LogLevel.Information))
@@ -239,7 +239,7 @@ public async Task<IPooledSocketResult> AcquireAsync()
239239

240240
try
241241
{
242-
return await _internalPoolImpl.AcquireAsync();
242+
return await _internalPoolImpl.AcquireAsync().ConfigureAwait(false);
243243
}
244244
catch (Exception e)
245245
{
@@ -401,7 +401,7 @@ internal async Task InitPoolAsync()
401401
{
402402
try
403403
{
404-
_freeItems.AddFirst(await CreateSocketAsync());
404+
_freeItems.Push(await CreateSocketAsync().ConfigureAwait(false));
405405
}
406406
catch (Exception ex)
407407
{
@@ -518,7 +518,7 @@ private async Task ReconcileAsync(CancellationToken cancellationToken)
518518

519519
private async Task<PooledSocket> CreateSocketAsync()
520520
{
521-
var ps = await _ownerNode.CreateSocketAsync();
521+
var ps = await _ownerNode.CreateSocketAsync().ConfigureAwait(false);
522522
ps.CleanupCallback = ReleaseSocket;
523523

524524
return ps;
@@ -686,7 +686,7 @@ public async Task<IPooledSocketResult> AcquireAsync()
686686

687687
PooledSocket socket = null;
688688

689-
if (!await _semaphore.WaitAsync(_queueTimeout))
689+
if (!await _semaphore.WaitAsync(_queueTimeout).ConfigureAwait(false))
690690
{
691691
message = "Pool is full, timeouting. " + _endPoint;
692692
_logger.LogInformation(message);
@@ -729,9 +729,9 @@ public async Task<IPooledSocketResult> AcquireAsync()
729729
{
730730
var resetTask = socket.ResetAsync();
731731

732-
if (await Task.WhenAny(resetTask, Task.Delay(_receiveTimeout)) == resetTask)
732+
if (await Task.WhenAny(resetTask, Task.Delay(_receiveTimeout)).ConfigureAwait(false) == resetTask)
733733
{
734-
await resetTask;
734+
await resetTask.ConfigureAwait(false);
735735
}
736736
else
737737
{
@@ -776,7 +776,7 @@ public async Task<IPooledSocketResult> AcquireAsync()
776776
{
777777
// okay, create the new item
778778
var startTime = DateTime.Now;
779-
socket = await CreateSocketAsync();
779+
socket = await CreateSocketAsync().ConfigureAwait(false);
780780

781781
if (_logger.IsEnabled(LogLevel.Information))
782782
{
@@ -1042,13 +1042,13 @@ protected internal virtual async Task<PooledSocket> CreateSocketAsync()
10421042
{
10431043
try
10441044
{
1045-
return await CreateSocketInternalAsync();
1045+
return await CreateSocketInternalAsync().ConfigureAwait(false);
10461046
}
10471047
catch
10481048
{
10491049
try
10501050
{
1051-
return await CreateSocketInternalAsync();
1051+
return await CreateSocketInternalAsync().ConfigureAwait(false);
10521052
}
10531053
catch (Exception ex)
10541054
{
@@ -1066,7 +1066,7 @@ private async Task<PooledSocket> CreateSocketInternalAsync()
10661066
#else
10671067
_useSslStream, _useIPv6);
10681068
#endif
1069-
await ps.ConnectAsync();
1069+
await ps.ConnectAsync().ConfigureAwait(false);
10701070
return ps;
10711071
}
10721072

@@ -1133,7 +1133,7 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
11331133
_logger.LogDebug($"ExecuteOperationAsync({op})");
11341134
}
11351135

1136-
var result = await AcquireAsync();
1136+
var result = await AcquireAsync().ConfigureAwait(false);
11371137
if (result.Success && result.HasValue)
11381138
{
11391139
try
@@ -1149,13 +1149,13 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
11491149
}
11501150

11511151
var writeSocketTask = pooledSocket.WriteAsync(b);
1152-
if (await Task.WhenAny(writeSocketTask, Task.Delay(_config.ConnectionTimeout)) != writeSocketTask)
1152+
if (await Task.WhenAny(writeSocketTask, Task.Delay(_config.ConnectionTimeout)).ConfigureAwait(false) != writeSocketTask)
11531153
{
11541154
result.Fail("Timeout to pooledSocket.WriteAsync");
11551155
return result;
11561156
}
11571157

1158-
await writeSocketTask;
1158+
await writeSocketTask.ConfigureAwait(false);
11591159

11601160
//if Get, call BinaryResponse
11611161
if (_logger.IsEnabled(LogLevel.Debug))
@@ -1164,13 +1164,13 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
11641164
}
11651165

11661166
var readResponseTask = op.ReadResponseAsync(pooledSocket);
1167-
if (await Task.WhenAny(readResponseTask, Task.Delay(_config.ConnectionTimeout)) != readResponseTask)
1167+
if (await Task.WhenAny(readResponseTask, Task.Delay(_config.ConnectionTimeout)).ConfigureAwait(false) != readResponseTask)
11681168
{
11691169
result.Fail($"Timeout to ReadResponseAsync(pooledSocket) for {op}");
11701170
return result;
11711171
}
11721172

1173-
var readResult = await readResponseTask;
1173+
var readResult = await readResponseTask.ConfigureAwait(false);
11741174
if (readResult.Success)
11751175
{
11761176
result.Pass();
@@ -1218,22 +1218,22 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
12181218

12191219
protected virtual async Task<bool> ExecuteOperationAsync(IOperation op, Action<bool> next)
12201220
{
1221-
var socket = (await AcquireAsync()).Value;
1221+
var socket = (await AcquireAsync().ConfigureAwait(false)).Value;
12221222
if (socket == null) return false;
12231223

12241224
//key(string) to buffer(btye[])
12251225
var b = op.GetBuffer();
12261226

12271227
try
12281228
{
1229-
await socket.WriteAsync(b);
1229+
await socket.WriteAsync(b).ConfigureAwait(false);
12301230

12311231
var rrs = await op.ReadResponseAsync(socket, readSuccess =>
12321232
{
12331233
((IDisposable)socket).Dispose();
12341234

12351235
next(readSuccess);
1236-
});
1236+
}).ConfigureAwait(false);
12371237

12381238
return rrs;
12391239
}
@@ -1279,12 +1279,12 @@ IOperationResult IMemcachedNode.Execute(IOperation op)
12791279

12801280
async Task<IOperationResult> IMemcachedNode.ExecuteAsync(IOperation op)
12811281
{
1282-
return await ExecuteOperationAsync(op);
1282+
return await ExecuteOperationAsync(op).ConfigureAwait(false);
12831283
}
12841284

12851285
async Task<bool> IMemcachedNode.ExecuteAsync(IOperation op, Action<bool> next)
12861286
{
1287-
return await ExecuteOperationAsync(op, next);
1287+
return await ExecuteOperationAsync(op, next).ConfigureAwait(false);
12881288
}
12891289

12901290
event Action<IMemcachedNode> IMemcachedNode.Failed

src/Enyim.Caching/Memcached/PooledSocket.cs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ public async Task<bool> ConnectAsync()
158158
{
159159
var connTask = _socket.ConnectAsync(_endpoint);
160160

161-
if (await Task.WhenAny(connTask, Task.Delay(_connectionTimeout)) == connTask)
161+
if (await Task.WhenAny(connTask, Task.Delay(_connectionTimeout)).ConfigureAwait(false) == connTask)
162162
{
163-
await connTask;
163+
await connTask.ConfigureAwait(false);
164164
}
165165
else
166166
{
@@ -176,7 +176,7 @@ public async Task<bool> ConnectAsync()
176176
{
177177
var ep = GetIPEndPoint(_endpoint);
178178
if (_isSocketDisposed) return false;
179-
await _socket.ConnectAsync(ep.Address, ep.Port);
179+
await _socket.ConnectAsync(ep.Address, ep.Port).ConfigureAwait(false);
180180
}
181181

182182
if (_socket != null)
@@ -203,7 +203,7 @@ await _sslStream.AuthenticateAsClientAsync(
203203
#else
204204
((DnsEndPoint)_endpoint).Host
205205
#endif
206-
);
206+
).ConfigureAwait(false);
207207
}
208208
else
209209
{
@@ -256,8 +256,6 @@ public void Reset()
256256

257257
public async Task ResetAsync()
258258
{
259-
// await _inputStream.FlushAsync();
260-
261259
int available = _socket.Available;
262260

263261
if (available > 0)
@@ -271,7 +269,7 @@ public async Task ResetAsync()
271269

272270
byte[] data = new byte[available];
273271

274-
await ReadAsync(data, 0, available);
272+
await ReadAsync(data, 0, available).ConfigureAwait(false);
275273
}
276274

277275
if (_logger.IsEnabled(LogLevel.Debug))
@@ -431,8 +429,8 @@ public async Task ReadAsync(byte[] buffer, int offset, int count)
431429
try
432430
{
433431
int currentRead = (_useSslStream
434-
? await _sslStream.ReadAsync(buffer, offset, shouldRead)
435-
: await _inputStream.ReadAsync(buffer, offset, shouldRead));
432+
? await _sslStream.ReadAsync(buffer, offset, shouldRead).ConfigureAwait(false)
433+
: await _inputStream.ReadAsync(buffer, offset, shouldRead).ConfigureAwait(false));
436434
if (currentRead == count)
437435
break;
438436
if (currentRead < 1)
@@ -581,14 +579,14 @@ public async Task WriteAsync(IList<ArraySegment<byte>> buffers)
581579
{
582580
foreach (var buf in buffers)
583581
{
584-
await _sslStream.WriteAsync(buf.Array, 0, buf.Count);
582+
await _sslStream.WriteAsync(buf.Array, 0, buf.Count).ConfigureAwait(false);
585583
}
586584

587-
await _sslStream.FlushAsync();
585+
await _sslStream.FlushAsync().ConfigureAwait(false);
588586
}
589587
else
590588
{
591-
var bytesTransferred = await _socket.SendAsync(buffers, SocketFlags.None);
589+
var bytesTransferred = await _socket.SendAsync(buffers, SocketFlags.None).ConfigureAwait(false);
592590
if (bytesTransferred <= 0)
593591
{
594592
_isAlive = false;

src/Enyim.Caching/Memcached/Protocol/Binary/BinaryNode.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ protected internal override PooledSocket CreateSocket()
5858

5959
protected internal override async Task<PooledSocket> CreateSocketAsync()
6060
{
61-
var retval = await base.CreateSocketAsync();
61+
var retval = await base.CreateSocketAsync().ConfigureAwait(false);
6262

63-
if (_authenticationProvider != null && !(await AuthAsync(retval)))
63+
if (_authenticationProvider != null && !await AuthAsync(retval).ConfigureAwait(false))
6464
{
6565
_logger.LogError("Authentication failed: " + EndPoint);
6666

@@ -105,15 +105,15 @@ private async Task<bool> AuthAsync(PooledSocket socket)
105105
{
106106
SaslStep currentStep = new SaslStart(_authenticationProvider);
107107

108-
await socket.WriteAsync(currentStep.GetBuffer());
108+
await socket.WriteAsync(currentStep.GetBuffer()).ConfigureAwait(false);
109109

110-
while (!(await currentStep.ReadResponseAsync(socket)).Success)
110+
while (!(await currentStep.ReadResponseAsync(socket).ConfigureAwait(false)).Success)
111111
{
112112
// challenge-response authentication
113113
if (currentStep.StatusCode == 0x21)
114114
{
115115
currentStep = new SaslContinue(_authenticationProvider, currentStep.Data);
116-
await socket.WriteAsync(currentStep.GetBuffer());
116+
await socket.WriteAsync(currentStep.GetBuffer()).ConfigureAwait(false);
117117
}
118118
else
119119
{

src/Enyim.Caching/Memcached/Protocol/Binary/BinaryResponse.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public async Task<bool> ReadAsync(PooledSocket socket)
8080
if (!socket.IsAlive) return false;
8181

8282
var header = new byte[HeaderLength];
83-
await socket.ReadAsync(header, 0, header.Length);
83+
await socket.ReadAsync(header, 0, header.Length).ConfigureAwait(false);
8484

8585
int dataLength, extraLength;
8686

@@ -89,7 +89,7 @@ public async Task<bool> ReadAsync(PooledSocket socket)
8989
if (dataLength > 0)
9090
{
9191
var data = new byte[dataLength];
92-
await socket.ReadAsync(data, 0, dataLength);
92+
await socket.ReadAsync(data, 0, dataLength).ConfigureAwait(false);
9393

9494
Extra = new ArraySegment<byte>(data, 0, extraLength);
9595
Data = new ArraySegment<byte>(data, extraLength, data.Length - extraLength);

src/Enyim.Caching/Memcached/Protocol/Binary/BinarySingleItemOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected internal override IOperationResult ReadResponse(PooledSocket socket)
4747
protected internal override async ValueTask<IOperationResult> ReadResponseAsync(PooledSocket socket)
4848
{
4949
var response = new BinaryResponse();
50-
var retval = await response.ReadAsync(socket);
50+
var retval = await response.ReadAsync(socket).ConfigureAwait(false);
5151

5252
Cas = response.CAS;
5353
StatusCode = response.StatusCode;

src/Enyim.Caching/Memcached/Protocol/Binary/FlushOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ protected internal override IOperationResult ReadResponse(PooledSocket socket)
3636
protected internal override async ValueTask<IOperationResult> ReadResponseAsync(PooledSocket socket)
3737
{
3838
var response = new BinaryResponse();
39-
var retval = await response.ReadAsync(socket);
39+
var retval = await response.ReadAsync(socket).ConfigureAwait(false);
4040

4141
StatusCode = StatusCode;
4242
var result = new BinaryOperationResult()

0 commit comments

Comments
 (0)