20
20
import io .servicetalk .concurrent .SingleSource ;
21
21
import io .servicetalk .context .api .ContextMap ;
22
22
import io .servicetalk .context .api .ContextMapHolder ;
23
+
23
24
import org .slf4j .Logger ;
24
25
import org .slf4j .LoggerFactory ;
25
26
26
- import javax .annotation .Nonnull ;
27
- import javax .annotation .Nullable ;
28
-
29
27
import java .util .concurrent .Callable ;
30
28
import java .util .concurrent .CompletableFuture ;
31
29
import java .util .concurrent .ExecutorService ;
@@ -50,7 +48,6 @@ class DefaultAsyncContextProvider implements AsyncContextProvider {
50
48
protected DefaultAsyncContextProvider () {
51
49
}
52
50
53
- @ Nonnull
54
51
@ Override
55
52
public final ContextMap context () {
56
53
final Thread t = Thread .currentThread ();
@@ -68,13 +65,11 @@ public final ContextMap context() {
68
65
}
69
66
70
67
@ Override
71
- public final void context (@ Nullable ContextMap contextMap ) {
68
+ public final void context (ContextMap contextMap ) {
72
69
final Thread currentThread = Thread .currentThread ();
73
70
if (currentThread instanceof ContextMapHolder ) {
74
71
final ContextMapHolder asyncContextMapHolder = (ContextMapHolder ) currentThread ;
75
72
asyncContextMapHolder .context (contextMap );
76
- } else if (contextMap == null ) {
77
- CONTEXT_THREAD_LOCAL .remove ();
78
73
} else {
79
74
CONTEXT_THREAD_LOCAL .set (contextMap );
80
75
}
@@ -209,7 +204,8 @@ public final <T> SingleSource.Subscriber<T> wrapSingleSubscriberAndCancellable(
209
204
}
210
205
211
206
@ Override
212
- public final <T > PublisherSource .Subscriber <T > wrapSubscription (final PublisherSource .Subscriber <T > subscriber , final CapturedContext context ) {
207
+ public final <T > PublisherSource .Subscriber <T > wrapSubscription (
208
+ final PublisherSource .Subscriber <T > subscriber , final CapturedContext context ) {
213
209
if (subscriber instanceof ContextPreservingSubscriber ) {
214
210
final ContextPreservingSubscriber <T > s = (ContextPreservingSubscriber <T >) subscriber ;
215
211
if (s .capturedContext == context ) {
@@ -226,7 +222,8 @@ public final <T> PublisherSource.Subscriber<T> wrapSubscription(final PublisherS
226
222
}
227
223
228
224
@ Override
229
- public final <T > PublisherSource .Subscriber <T > wrapPublisherSubscriber (final PublisherSource .Subscriber <T > subscriber , final CapturedContext context ) {
225
+ public final <T > PublisherSource .Subscriber <T > wrapPublisherSubscriber (
226
+ final PublisherSource .Subscriber <T > subscriber , final CapturedContext context ) {
230
227
if (subscriber instanceof ContextPreservingSubscriptionSubscriber ) {
231
228
final ContextPreservingSubscriptionSubscriber <T > s =
232
229
(ContextPreservingSubscriptionSubscriber <T >) subscriber ;
@@ -243,8 +240,8 @@ public final <T> PublisherSource.Subscriber<T> wrapPublisherSubscriber(final Pub
243
240
}
244
241
245
242
@ Override
246
- public final <T > PublisherSource .Subscriber <T > wrapPublisherSubscriberAndSubscription (final PublisherSource . Subscriber < T > subscriber ,
247
- final CapturedContext context ) {
243
+ public final <T > PublisherSource .Subscriber <T > wrapPublisherSubscriberAndSubscription (
244
+ final PublisherSource . Subscriber < T > subscriber , final CapturedContext context ) {
248
245
if (subscriber instanceof ContextPreservingSubscriber ) {
249
246
final ContextPreservingSubscriber <T > s = (ContextPreservingSubscriber <T >) subscriber ;
250
247
if (s .capturedContext == context ) {
@@ -272,7 +269,8 @@ public final ExecutorService wrapJdkExecutorService(final ExecutorService execut
272
269
}
273
270
274
271
@ Override
275
- public final io .servicetalk .concurrent .api .Executor wrapExecutor (final io .servicetalk .concurrent .api .Executor executor ) {
272
+ public final io .servicetalk .concurrent .api .Executor wrapExecutor (
273
+ final io .servicetalk .concurrent .api .Executor executor ) {
276
274
return ContextPreservingStExecutor .of (executor );
277
275
}
278
276
@@ -308,12 +306,14 @@ public final <T, U> Function<T, U> wrapFunction(final Function<T, U> func, final
308
306
}
309
307
310
308
@ Override
311
- public final <T , U > BiConsumer <T , U > wrapBiConsumer (final BiConsumer <T , U > consumer , final CapturedContext context ) {
309
+ public final <T , U > BiConsumer <T , U > wrapBiConsumer (
310
+ final BiConsumer <T , U > consumer , final CapturedContext context ) {
312
311
return new ContextPreservingBiConsumer <>(consumer , context );
313
312
}
314
313
315
314
@ Override
316
- public final <T , U , V > BiFunction <T , U , V > wrapBiFunction (final BiFunction <T , U , V > func , final CapturedContext context ) {
315
+ public final <T , U , V > BiFunction <T , U , V > wrapBiFunction (
316
+ final BiFunction <T , U , V > func , final CapturedContext context ) {
317
317
return new ContextPreservingBiFunction <>(func , context );
318
318
}
319
319
@@ -356,11 +356,9 @@ private static ContextMap exchangeContext(ContextMap contextMap) {
356
356
357
357
private static void detachContext (ContextMap expectedContext , ContextMap toRestore ) {
358
358
ContextMap current = exchangeContext (toRestore );
359
- if (current != expectedContext ) {
360
- if (!NO_DEBUG_LOGGING ) {
361
- LOGGER .debug ("Current context didn't match the expected context. current: {}, expected: {}" ,
362
- current , expectedContext , new Throwable ("stack trace" ));
363
- }
359
+ if (current != expectedContext && !NO_DEBUG_LOGGING ) {
360
+ LOGGER .debug ("Current context didn't match the expected context. current: {}, expected: {}" ,
361
+ current , expectedContext , new Throwable ("stack trace" ));
364
362
}
365
363
}
366
364
0 commit comments