Skip to content

Commit 7cf4b58

Browse files
authored
try get nullable (#1015)
1 parent ab957f2 commit 7cf4b58

22 files changed

+139
-111
lines changed

src/Polly.Benchmarks/Cache.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public MemoryCacheProvider(IMemoryCache memoryCache) =>
5959
return (cacheHit, value);
6060
}
6161

62-
public void Put(string key, object value, Ttl ttl)
62+
public void Put(string key, object? value, Ttl ttl)
6363
{
6464
TimeSpan remaining = DateTimeOffset.MaxValue - DateTimeOffset.UtcNow;
6565
var options = new MemoryCacheEntryOptions();
@@ -86,7 +86,7 @@ public void Put(string key, object value, Ttl ttl)
8686
public Task<(bool, object?)> TryGetAsync(string key, CancellationToken cancellationToken, bool continueOnCapturedContext) =>
8787
Task.FromResult(TryGet(key));
8888

89-
public Task PutAsync(string key, object value, Ttl ttl, CancellationToken cancellationToken, bool continueOnCapturedContext)
89+
public Task PutAsync(string key, object? value, Ttl ttl, CancellationToken cancellationToken, bool continueOnCapturedContext)
9090
{
9191
Put(key, value, ttl);
9292
return Task.CompletedTask;

src/Polly.Specs/Bulkhead/BulkheadAsyncSpecs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ protected override IBulkheadPolicy GetBulkhead(int maxParallelization, int maxQu
7979
Policy.BulkheadAsync(maxParallelization, maxQueuingActions);
8080

8181
protected override Task ExecuteOnBulkhead(IBulkheadPolicy bulkhead, TraceableAction action) =>
82-
action.ExecuteOnBulkheadAsync((AsyncBulkheadPolicy)bulkhead);
82+
action.ExecuteOnBulkheadAsync((AsyncBulkheadPolicy) bulkhead);
8383

8484
#endregion
8585
}

src/Polly.Specs/Bulkhead/BulkheadScenario.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,13 @@ public BulkheadScenario(int maxParallelization, int maxQueuingActions, int total
2020
}
2121

2222
public object[] ToTheoryData() =>
23-
new object[] {_maxParallelization, _maxQueuingActions, _totalTestLoad, _cancelQueuing, _cancelExecuting, _scenario };
23+
new object[]
24+
{
25+
_maxParallelization,
26+
_maxQueuingActions,
27+
_totalTestLoad,
28+
_cancelQueuing,
29+
_cancelExecuting,
30+
_scenario
31+
};
2432
}

src/Polly.Specs/Bulkhead/BulkheadTResultAsyncSpecs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ protected override IBulkheadPolicy GetBulkhead(int maxParallelization, int maxQu
8686
Policy.BulkheadAsync<ResultPrimitive>(maxParallelization, maxQueuingActions);
8787

8888
protected override Task ExecuteOnBulkhead(IBulkheadPolicy bulkhead, TraceableAction action) =>
89-
action.ExecuteOnBulkheadAsync<ResultPrimitive>((AsyncBulkheadPolicy<ResultPrimitive>)bulkhead);
89+
action.ExecuteOnBulkheadAsync<ResultPrimitive>((AsyncBulkheadPolicy<ResultPrimitive>) bulkhead);
9090

9191
#endregion
9292
}

src/Polly.Specs/Caching/SerializingCacheProviderAsyncSpecs.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public void Single_generic_constructor_should_throw_on_no_wrapped_cache_provider
99
{
1010
StubSerializer<object, StubSerialized> stubObjectSerializer = new StubSerializer<object, StubSerialized>(
1111
serialize: o => new StubSerialized(o),
12-
deserialize: s => s.Original
12+
deserialize: s => s?.Original ?? default
1313
);
1414

1515
Action configure = () => new AsyncSerializingCacheProvider<StubSerialized>(null!, stubObjectSerializer);
@@ -42,7 +42,7 @@ public async Task Single_generic_SerializingCacheProvider_should_serialize_on_pu
4242
bool serializeInvoked = false;
4343
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
4444
serialize: o => { serializeInvoked = true; return new StubSerialized(o); },
45-
deserialize: s => s.Original
45+
deserialize: s => s?.Original ?? default
4646
);
4747
StubCacheProvider stubCacheProvider = new StubCacheProvider();
4848
object objectToCache = new object();
@@ -66,7 +66,7 @@ public async Task Single_generic_SerializingCacheProvider_should_serialize_on_pu
6666
bool serializeInvoked = false;
6767
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
6868
serialize: o => { serializeInvoked = true; return new StubSerialized(o); },
69-
deserialize: s => s.Original
69+
deserialize: s => s?.Original ?? default
7070
);
7171
StubCacheProvider stubCacheProvider = new StubCacheProvider();
7272
object? objectToCache = null;
@@ -90,7 +90,7 @@ public async Task Single_generic_SerializingCacheProvider_should_deserialize_on_
9090
bool deserializeInvoked = false;
9191
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
9292
serialize: o => new StubSerialized(o),
93-
deserialize: s => { deserializeInvoked = true; return s.Original; }
93+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
9494
);
9595

9696
var stubCacheProvider = new StubCacheProvider();
@@ -113,7 +113,7 @@ public async Task Single_generic_SerializingCacheProvider_should_not_deserialize
113113
bool deserializeInvoked = false;
114114
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
115115
serialize: o => new StubSerialized(o),
116-
deserialize: s => { deserializeInvoked = true; return s.Original; }
116+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
117117
);
118118
var stubCacheProvider = new StubCacheProvider();
119119
string key = "some key";
@@ -134,7 +134,7 @@ public async Task Single_generic_SerializingCacheProvider_from_extension_syntax_
134134
bool serializeInvoked = false;
135135
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
136136
serialize: o => { serializeInvoked = true; return new StubSerialized(o); },
137-
deserialize: s => s.Original
137+
deserialize: s => s?.Original ?? default
138138
);
139139
StubCacheProvider stubCacheProvider = new StubCacheProvider();
140140
object objectToCache = new object();
@@ -158,7 +158,7 @@ public async Task Single_generic_SerializingCacheProvider_from_extension_syntax_
158158
bool serializeInvoked = false;
159159
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
160160
serialize: o => { serializeInvoked = true; return new StubSerialized(o); },
161-
deserialize: s => s.Original
161+
deserialize: s => s?.Original ?? default
162162
);
163163
StubCacheProvider stubCacheProvider = new StubCacheProvider();
164164
object? objectToCache = null;
@@ -182,7 +182,7 @@ public async Task Single_generic_SerializingCacheProvider_from_extension_syntax_
182182
bool deserializeInvoked = false;
183183
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
184184
serialize: o => new StubSerialized(o),
185-
deserialize: s => { deserializeInvoked = true; return s.Original; }
185+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
186186
);
187187
var stubCacheProvider = new StubCacheProvider();
188188
object objectToCache = new object();
@@ -204,7 +204,7 @@ public async Task Single_generic_SerializingCacheProvider_from_extension_syntax_
204204
bool deserializeInvoked = false;
205205
StubSerializer<object, StubSerialized> stubSerializer = new StubSerializer<object, StubSerialized>(
206206
serialize: o => new StubSerialized(o),
207-
deserialize: s => { deserializeInvoked = true; return s.Original; }
207+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
208208
);
209209
var stubCacheProvider = new StubCacheProvider();
210210
string key = "some key";
@@ -228,7 +228,7 @@ public void Double_generic_constructor_should_throw_on_no_wrapped_cache_provider
228228
{
229229
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
230230
serialize: o => new StubSerialized<ResultPrimitive>(o),
231-
deserialize: s => s.Original
231+
deserialize: s => s?.Original ?? default
232232
);
233233

234234
Action configure = () => new AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>>(null!, stubTResultSerializer);
@@ -261,7 +261,7 @@ public async Task Double_generic_SerializingCacheProvider_should_serialize_on_pu
261261
bool serializeInvoked = false;
262262
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
263263
serialize: o => { serializeInvoked = true; return new StubSerialized<ResultPrimitive>(o); },
264-
deserialize: s => s.Original
264+
deserialize: s => s?.Original ?? default
265265
);
266266
var stubCacheProvider = new StubCacheProvider();
267267
ResultPrimitive objectToCache = ResultPrimitive.Good;
@@ -285,7 +285,7 @@ public async Task Double_generic_SerializingCacheProvider_should_serialize_on_pu
285285
bool serializeInvoked = false;
286286
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
287287
serialize: o => { serializeInvoked = true; return new StubSerialized<ResultPrimitive>(o); },
288-
deserialize: s => s.Original
288+
deserialize: s => s?.Original ?? default
289289
);
290290
StubCacheProvider stubCacheProvider = new StubCacheProvider();
291291
ResultPrimitive objectToCache = default;
@@ -309,7 +309,7 @@ public async Task Double_generic_SerializingCacheProvider_should_deserialize_on_
309309
bool deserializeInvoked = false;
310310
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
311311
serialize: o => new StubSerialized<ResultPrimitive>(o),
312-
deserialize: s => { deserializeInvoked = true; return s.Original; }
312+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
313313
);
314314
var stubCacheProvider = new StubCacheProvider();
315315
ResultPrimitive objectToCache = ResultPrimitive.Good;
@@ -318,7 +318,7 @@ public async Task Double_generic_SerializingCacheProvider_should_deserialize_on_
318318
AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>> serializingCacheProvider = new AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>>(stubCacheProvider.AsyncFor<StubSerialized<ResultPrimitive>>(), stubTResultSerializer);
319319

320320
await stubCacheProvider.PutAsync(key, new StubSerialized<ResultPrimitive>(objectToCache), new Ttl(TimeSpan.FromMinutes(1)), CancellationToken.None, false);
321-
(bool cacheHit, object fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
321+
(bool cacheHit, object? fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
322322

323323
cacheHit.Should().BeTrue();
324324
deserializeInvoked.Should().BeTrue();
@@ -331,15 +331,15 @@ public async Task Double_generic_SerializingCacheProvider_should_not_deserialize
331331
bool deserializeInvoked = false;
332332
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
333333
serialize: o => new StubSerialized<ResultPrimitive>(o),
334-
deserialize: s => { deserializeInvoked = true; return s.Original; }
334+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
335335
);
336336
var stubCacheProvider = new StubCacheProvider();
337337
string key = "some key";
338338

339339
stubCacheProvider.TryGet(key).Item1.Should().BeFalse();
340340

341341
AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>> serializingCacheProvider = new AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>>(stubCacheProvider.AsyncFor<StubSerialized<ResultPrimitive>>(), stubTResultSerializer);
342-
(bool cacheHit, ResultPrimitive fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
342+
(bool cacheHit, ResultPrimitive? fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
343343

344344
cacheHit.Should().BeFalse();
345345
deserializeInvoked.Should().BeFalse();
@@ -352,7 +352,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
352352
bool serializeInvoked = false;
353353
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
354354
serialize: o => { serializeInvoked = true; return new StubSerialized<ResultPrimitive>(o); },
355-
deserialize: s => s.Original
355+
deserialize: s => s?.Original ?? default
356356
);
357357
var stubCacheProvider = new StubCacheProvider();
358358
ResultPrimitive objectToCache = ResultPrimitive.Good;
@@ -376,7 +376,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
376376
bool serializeInvoked = false;
377377
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
378378
serialize: o => { serializeInvoked = true; return new StubSerialized<ResultPrimitive>(o); },
379-
deserialize: s => s.Original
379+
deserialize: s => s?.Original ?? default
380380
);
381381
StubCacheProvider stubCacheProvider = new StubCacheProvider();
382382
ResultPrimitive objectToCache = default;
@@ -401,7 +401,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
401401
bool deserializeInvoked = false;
402402
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
403403
serialize: o => new StubSerialized<ResultPrimitive>(o),
404-
deserialize: s => { deserializeInvoked = true; return s.Original; }
404+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
405405
);
406406
var stubCacheProvider = new StubCacheProvider();
407407
ResultPrimitive objectToCache = ResultPrimitive.Good;
@@ -411,7 +411,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
411411
stubCacheProvider.AsyncFor<StubSerialized<ResultPrimitive>>().WithSerializer(stubTResultSerializer);
412412

413413
await stubCacheProvider.PutAsync(key, new StubSerialized<ResultPrimitive>(objectToCache), new Ttl(TimeSpan.FromMinutes(1)), CancellationToken.None, false);
414-
(bool cacheHit, ResultPrimitive fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
414+
(bool cacheHit, ResultPrimitive? fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
415415

416416
cacheHit.Should().BeTrue();
417417
deserializeInvoked.Should().BeTrue();
@@ -424,7 +424,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
424424
bool deserializeInvoked = false;
425425
StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>> stubTResultSerializer = new StubSerializer<ResultPrimitive, StubSerialized<ResultPrimitive>>(
426426
serialize: o => new StubSerialized<ResultPrimitive>(o),
427-
deserialize: s => { deserializeInvoked = true; return s.Original; }
427+
deserialize: s => { deserializeInvoked = true; return s?.Original ?? default; }
428428
);
429429
var stubCacheProvider = new StubCacheProvider();
430430
string key = "some key";
@@ -433,7 +433,7 @@ public async Task Double_generic_SerializingCacheProvider_from_extension_syntax_
433433

434434
AsyncSerializingCacheProvider<ResultPrimitive, StubSerialized<ResultPrimitive>> serializingCacheProvider =
435435
stubCacheProvider.AsyncFor<StubSerialized<ResultPrimitive>>().WithSerializer(stubTResultSerializer);
436-
(bool cacheHit, ResultPrimitive fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
436+
(bool cacheHit, ResultPrimitive? fromCache) = await serializingCacheProvider.TryGetAsync(key, CancellationToken.None, false);
437437

438438
cacheHit.Should().BeFalse();
439439
deserializeInvoked.Should().BeFalse();

0 commit comments

Comments
 (0)