Skip to content

Commit 235d988

Browse files
committed
Clean up use of EmptyContext.INSTANCE
1 parent ba13f41 commit 235d988

5 files changed

Lines changed: 35 additions & 41 deletions

File tree

components/context/src/main/java/datadog/context/EmptyContextContinuation.java

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package datadog.context;
2+
3+
/** {@link ContextContinuation} that has no effect on execution units. */
4+
final class NoopContextContinuation implements ContextContinuation {
5+
static final ContextContinuation ROOT_CONTINUATION = new NoopContextContinuation(Context.root());
6+
7+
private final Context context;
8+
9+
private NoopContextContinuation(Context context) {
10+
this.context = context;
11+
}
12+
13+
@Override
14+
public ContextContinuation hold() {
15+
return this;
16+
}
17+
18+
@Override
19+
public Context context() {
20+
return context;
21+
}
22+
23+
@Override
24+
public ContextScope resume() {
25+
return NoopContextScope.create(context);
26+
}
27+
28+
@Override
29+
public void release() {}
30+
}

components/context/src/main/java/datadog/context/NoopContextScope.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
/** {@link ContextScope} that has no effect on execution units. */
66
final class NoopContextScope extends WeakReference<Context> implements ContextScope {
7-
private static final ContextScope ROOT_SCOPE = new NoopContextScope(Context.root());
7+
static final ContextScope ROOT_SCOPE = new NoopContextScope(Context.root());
88

99
private static final int CACHE_SIZE = 32; // must be power of 2
1010
private static final int SLOT_MASK = CACHE_SIZE - 1;

components/context/src/main/java/datadog/context/ThreadLocalContextManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ final class ThreadLocalContextManager implements ContextManager {
99
static final ThreadLocalContextManager INSTANCE = new ThreadLocalContextManager();
1010

1111
private static final ThreadLocal<Context[]> CURRENT_HOLDER =
12-
ThreadLocal.withInitial(() -> new Context[] {EmptyContext.INSTANCE});
12+
ThreadLocal.withInitial(() -> new Context[] {Context.root()});
1313

1414
private final Object listenersWriteLock = new Object();
1515
private volatile ContextListener[] listeners = {};
@@ -68,7 +68,7 @@ public Context swap(Context context) {
6868
@Override
6969
public ContextContinuation capture(Context context) {
7070
if (context == Context.root()) {
71-
return EmptyContextContinuation.INSTANCE;
71+
return NoopContextContinuation.ROOT_CONTINUATION;
7272
} else {
7373
return new ContextContinuationImpl(context);
7474
}

components/context/src/test/java/datadog/context/ContextProvidersForkedTest.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,7 @@ public Context current() {
7373

7474
@Override
7575
public ContextScope attach(Context context) {
76-
return new ContextScope() {
77-
@Override
78-
public Context context() {
79-
return root();
80-
}
81-
82-
@Override
83-
public void close() {
84-
// no-op
85-
}
86-
};
76+
return NoopContextScope.ROOT_SCOPE;
8777
}
8878

8979
@Override
@@ -93,7 +83,7 @@ public Context swap(Context context) {
9383

9484
@Override
9585
public ContextContinuation capture(Context context) {
96-
return EmptyContextContinuation.INSTANCE;
86+
return NoopContextContinuation.ROOT_CONTINUATION;
9787
}
9888

9989
@Override

0 commit comments

Comments
 (0)