Skip to content

Commit 8601b2e

Browse files
committed
change names
1 parent 56491ba commit 8601b2e

5 files changed

Lines changed: 20 additions & 21 deletions

File tree

benchmarks/src/main/java/io/netty/loom/benchmark/GetScheduler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.netty.loom.benchmark;
22

33
import io.netty.loom.LoomSupport;
4-
import io.netty.loom.VirtualThreadNettyScheduler;
54
import org.openjdk.jmh.annotations.Benchmark;
65
import org.openjdk.jmh.annotations.BenchmarkMode;
76
import org.openjdk.jmh.annotations.CompilerControl;

core/src/main/java/io/netty/loom/VirtualThreadNettyScheduler.java renamed to core/src/main/java/io/netty/loom/EventLoopScheduler.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.netty.channel.ManualIoEventLoop;
1212
import io.netty.util.concurrent.FastThreadLocalThread;
1313

14-
public class VirtualThreadNettyScheduler {
14+
public class EventLoopScheduler {
1515

1616
private static final long MAX_WAIT_TASKS_NS = TimeUnit.HOURS.toNanos(1);
1717
// These are the soft-guaranteed yield times for the event loop whilst Thread.yield() is called.
@@ -20,8 +20,8 @@ public class VirtualThreadNettyScheduler {
2020
private static final long RUNNING_YIELD_US = TimeUnit.MICROSECONDS.toNanos(Integer.getInteger("io.netty.loom.running.yield.us", 1));
2121
private static final long IDLE_YIELD_US = TimeUnit.MICROSECONDS.toNanos(Integer.getInteger("io.netty.loom.idle.yield.us", 1));
2222
// This is required to allow sub-pollers to run on the correct scheduler
23-
private static final ScopedValue<AtomicReference<VirtualThreadNettyScheduler>> CURRENT_SCHEDULER = ScopedValue.newInstance();
24-
private static final AtomicReference<VirtualThreadNettyScheduler> EMPTY_REFERENCE = new AtomicReference<>();
23+
private static final ScopedValue<AtomicReference<EventLoopScheduler>> CURRENT_SCHEDULER = ScopedValue.newInstance();
24+
private static final AtomicReference<EventLoopScheduler> EMPTY_REFERENCE = new AtomicReference<>();
2525
private final MpscUnboundedStream<Runnable> runQueue;
2626
private final ManualIoEventLoop ioEventLoop;
2727
private final Thread eventLoopThread;
@@ -30,16 +30,16 @@ public class VirtualThreadNettyScheduler {
3030
private volatile Runnable eventLoopContinuatioToRun;
3131
private final ThreadFactory vThreadFactory;
3232
private final AtomicBoolean running;
33-
private final AtomicReference<VirtualThreadNettyScheduler> schedulerReference;
33+
private final AtomicReference<EventLoopScheduler> schedulerReference;
3434

35-
public VirtualThreadNettyScheduler(IoEventLoopGroup parent, ThreadFactory threadFactory, IoHandlerFactory ioHandlerFactory, int resumedContinuationsExpectedCount) {
35+
public EventLoopScheduler(IoEventLoopGroup parent, ThreadFactory threadFactory, IoHandlerFactory ioHandlerFactory, int resumedContinuationsExpectedCount) {
3636
schedulerReference = new AtomicReference<>(this);
3737
running = new AtomicBoolean(false);
3838
runQueue = new MpscUnboundedStream<>(resumedContinuationsExpectedCount);
3939
carrierThread = threadFactory.newThread(this::virtualThreadSchedulerLoop);
4040
var rawVTFactory = Thread.ofVirtual().factory();
4141
vThreadFactory = runnable ->
42-
GlobalDelegateThreadNettyScheduler.assignUnstarted(rawVTFactory.newThread(
42+
NettyScheduler.assignUnstarted(rawVTFactory.newThread(
4343
() -> ScopedValue.where(CURRENT_SCHEDULER, schedulerReference).run(runnable)), schedulerReference);
4444
eventLoopThread = vThreadFactory.newThread(() -> FastThreadLocalThread.runWithFastThreadLocal(this::nettyEventLoop));
4545
ioEventLoop = new ManualIoEventLoop(parent, eventLoopThread,
@@ -199,7 +199,7 @@ public boolean execute(Thread.VirtualThreadTask task) {
199199
return true;
200200
}
201201

202-
public static AtomicReference<VirtualThreadNettyScheduler> currentRef() {
202+
public static AtomicReference<EventLoopScheduler> currentRef() {
203203
var ref = CURRENT_SCHEDULER.orElse(EMPTY_REFERENCE);
204204
return ref == EMPTY_REFERENCE? null : ref;
205205
}

core/src/main/java/io/netty/loom/MultithreadVirtualEventExecutorGroup.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ public class MultithreadVirtualEventExecutorGroup extends MultiThreadIoEventLoop
1313

1414
private static final int RESUMED_CONTINUATIONS_EXPECTED_COUNT = Integer.getInteger("io.netty.loom.resumed.continuations", 1024);
1515
private ThreadFactory threadFactory;
16-
private IdentityHashMap<Thread, VirtualThreadNettyScheduler> schedulers;
17-
private final FastThreadLocal<VirtualThreadNettyScheduler> v_thread_factory = new FastThreadLocal<>() {
16+
private IdentityHashMap<Thread, EventLoopScheduler> schedulers;
17+
private final FastThreadLocal<EventLoopScheduler> v_thread_factory = new FastThreadLocal<>() {
1818
@Override
19-
protected VirtualThreadNettyScheduler initialValue() {
19+
protected EventLoopScheduler initialValue() {
2020
return schedulers.get(Thread.currentThread());
2121
}
2222
};
@@ -40,7 +40,7 @@ protected IoEventLoop newChild(Executor executor, IoHandlerFactory ioHandlerFact
4040
if (threadFactory == null) {
4141
threadFactory = newDefaultThreadFactory();
4242
}
43-
var customScheduler = new VirtualThreadNettyScheduler(this, threadFactory, ioHandlerFactory, RESUMED_CONTINUATIONS_EXPECTED_COUNT);
43+
var customScheduler = new EventLoopScheduler(this, threadFactory, ioHandlerFactory, RESUMED_CONTINUATIONS_EXPECTED_COUNT);
4444
schedulers.put(customScheduler.eventLoopThread(), customScheduler);
4545
return customScheduler.ioEventLoop();
4646
}

core/src/main/java/io/netty/loom/GlobalDelegateThreadNettyScheduler.java renamed to core/src/main/java/io/netty/loom/NettyScheduler.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
* the actual underlying scheduler, it will work properly.
1919
*/
2020

21-
public class GlobalDelegateThreadNettyScheduler implements Thread.VirtualThreadScheduler {
21+
public class NettyScheduler implements Thread.VirtualThreadScheduler {
2222

23-
private static GlobalDelegateThreadNettyScheduler INSTANCE;
23+
private static NettyScheduler INSTANCE;
2424

2525
final Thread.VirtualThreadScheduler jdkBuildinScheduler;
2626

27-
final ConcurrentHashMap<Thread, AtomicReference<VirtualThreadNettyScheduler>> unstartedThreads = new ConcurrentHashMap<>();
27+
final ConcurrentHashMap<Thread, AtomicReference<EventLoopScheduler>> unstartedThreads = new ConcurrentHashMap<>();
2828

29-
public GlobalDelegateThreadNettyScheduler(Thread.VirtualThreadScheduler jdkBuildinScheduler) {
29+
public NettyScheduler(Thread.VirtualThreadScheduler jdkBuildinScheduler) {
3030
this.jdkBuildinScheduler = jdkBuildinScheduler;
3131
INSTANCE = this;
3232
VarHandle.storeStoreFence();
@@ -48,7 +48,7 @@ public void onStart(Thread.VirtualThreadTask virtualThreadTask) {
4848
if (currentThread.isVirtual()) {
4949
// TODO https://github.com/openjdk/loom/blob/12ddf39bb59252a8274d8b937bd075b2a6dbc3f8/src/java.base/share/classes/java/lang/VirtualThread.java#L270C18-L270C33
5050
// in theory should be easy to provide a VirtualThreadTask::current method to avoid the ScopedValue lookup
51-
var schedulerRef = VirtualThreadNettyScheduler.currentRef();
51+
var schedulerRef = EventLoopScheduler.currentRef();
5252
// TODO per carrier sub-pollers goes here, but we want them to inherit the scheduler from the caller context
5353
if (schedulerRef != null) {
5454
var scheduler = schedulerRef.get();
@@ -86,7 +86,7 @@ public void onContinue(Thread.VirtualThreadTask virtualThreadTask) {
8686
if (attachment instanceof AtomicReference<?>) {
8787
// TODO create a EventLoopSchedulerRef type
8888
@SuppressWarnings("unchecked")
89-
var ref = (AtomicReference<VirtualThreadNettyScheduler>) attachment;
89+
var ref = (AtomicReference<EventLoopScheduler>) attachment;
9090
var scheduler = ref.get();
9191
if (scheduler != null) {
9292
if (scheduler.execute(virtualThreadTask)) {
@@ -104,7 +104,7 @@ public Thread.VirtualThreadScheduler getJdkBuildinScheduler() {
104104
return jdkBuildinScheduler;
105105
}
106106

107-
static Thread assignUnstarted(Thread unstarted, AtomicReference<VirtualThreadNettyScheduler> schedulerRef) {
107+
static Thread assignUnstarted(Thread unstarted, AtomicReference<EventLoopScheduler> schedulerRef) {
108108
INSTANCE.unstartedThreads.put(unstarted, schedulerRef);
109109
return unstarted;
110110
}

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<goal>test</goal>
7373
</goals>
7474
<configuration>
75-
<argLine>-Djdk.virtualThreadScheduler.implClass=io.netty.loom.GlobalDelegateThreadNettyScheduler -Djdk.traceVirtualThreadLocals=false --add-opens=java.base/java.lang=ALL-UNNAMED</argLine>
75+
<argLine>-Djdk.virtualThreadScheduler.implClass=io.netty.loom.NettyScheduler -Djdk.traceVirtualThreadLocals=false --add-opens=java.base/java.lang=ALL-UNNAMED</argLine>
7676
</configuration>
7777
</execution>
7878
<execution>
@@ -82,7 +82,7 @@
8282
<goal>test</goal>
8383
</goals>
8484
<configuration>
85-
<argLine>-Djdk.virtualThreadScheduler.implClass=io.netty.loom.GlobalDelegateThreadNettyScheduler -Djdk.traceVirtualThreadLocals=false --add-opens=java.base/java.lang=ALL-UNNAMED -Djdk.pollerMode=3</argLine>
85+
<argLine>-Djdk.virtualThreadScheduler.implClass=io.netty.loom.NettyScheduler -Djdk.traceVirtualThreadLocals=false --add-opens=java.base/java.lang=ALL-UNNAMED -Djdk.pollerMode=3</argLine>
8686
</configuration>
8787
</execution>
8888
</executions>

0 commit comments

Comments
 (0)