public class io.micronaut.http.netty.reactive.HandlerSubscriber<T> extends io.netty.channel.ChannelDuplexHandler implements org.reactivestreams.Subscriber<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.netty.reactive.HandlerSubscriber
super_class: io.netty.channel.ChannelDuplexHandler
{
private final io.netty.util.concurrent.EventExecutor executor;
descriptor: Lio/netty/util/concurrent/EventExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean hasSubscription;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.reactivestreams.Subscription subscription;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private io.micronaut.http.netty.reactive.HandlerSubscriber$State state;
descriptor: Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
private io.netty.channel.ChannelFuture lastWriteFuture;
descriptor: Lio/netty/channel/ChannelFuture;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(io.netty.util.concurrent.EventExecutor);
descriptor: (Lio/netty/util/concurrent/EventExecutor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.hasSubscription:Ljava/util/concurrent/atomic/AtomicBoolean;
2: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_SUBSCRIPTION_OR_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
3: aload 0
aload 1
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.executor:Lio/netty/util/concurrent/EventExecutor;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 5 1 executor Lio/netty/util/concurrent/EventExecutor;
MethodParameters:
Name Flags
executor
protected void error(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.doClose:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 2 1 error Ljava/lang/Throwable;
MethodParameters:
Name Flags
error
protected void complete();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.doClose:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
public void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.verifyRegisteredWithRightExecutor:(Lio/netty/channel/ChannelHandlerContext;)V
1: invokestatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:()[I
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 2
2: 11
3: 5
4: 11
5: 11
6: 11
7: 8
default: 11
}
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
3: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_SUBSCRIPTION:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
4: goto 12
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
6: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeStart:()V
7: goto 12
8: StackMap locals:
StackMap stack:
aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.COMPLETE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
9: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "This handler must only be added to a pipeline once "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 13 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelRegistered(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.verifyRegisteredWithRightExecutor:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRegistered:()Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeRequestMore:()V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelWritabilityChanged:()Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelActive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.INACTIVE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
if_acmpne 3
1: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.RUNNING:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
2: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeRequestMore:()V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelActive:()Lio/netty/channel/ChannelHandlerContext;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.cancel:()V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelInactive:()Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.cancel:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.cancel:()V
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
ctx
cause
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null subscription"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.hasSubscription:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifne 5
3: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.subscription:Lorg/reactivestreams/Subscription;
6: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
invokedynamic run(Lio/micronaut/http/netty/reactive/HandlerSubscriber;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
io/micronaut/http/netty/reactive/HandlerSubscriber.provideSubscription()V (7)
()V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 8 1 subscription Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
subscription final
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.lastWriteFuture:Lio/netty/channel/ChannelFuture;
1: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.lastWriteFuture:Lio/netty/channel/ChannelFuture;
aload 0
invokedynamic operationComplete(Lio/micronaut/http/netty/reactive/HandlerSubscriber;)Lio/netty/util/concurrent/GenericFutureListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/netty/util/concurrent/Future;)V
io/micronaut/http/netty/reactive/HandlerSubscriber.lambda$1(Lio/netty/util/concurrent/Future;)V (7)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 t TT;
Signature: (TT;)V
MethodParameters:
Name Flags
t
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "Null error published"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.error:(Ljava/lang/Throwable;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 4 1 error Ljava/lang/Throwable;
MethodParameters:
Name Flags
error final
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.lastWriteFuture:Lio/netty/channel/ChannelFuture;
ifnonnull 3
1: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.complete:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.lastWriteFuture:Lio/netty/channel/ChannelFuture;
aload 0
invokedynamic operationComplete(Lio/micronaut/http/netty/reactive/HandlerSubscriber;)Lio/netty/util/concurrent/GenericFutureListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lio/netty/util/concurrent/Future;)V
io/micronaut/http/netty/reactive/HandlerSubscriber.lambda$2(Lio/netty/util/concurrent/Future;)V (7)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
private void doClose();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
invokedynamic run(Lio/micronaut/http/netty/reactive/HandlerSubscriber;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
io/micronaut/http/netty/reactive/HandlerSubscriber.lambda$3()V (7)
()V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
private void maybeRequestMore();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isWritable:()Z
ifeq 2
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.COMPLETE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
if_acmpeq 2
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.CANCELLED:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
if_acmpeq 2
1: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.subscription:Lorg/reactivestreams/Subscription;
lconst_1
invokeinterface org.reactivestreams.Subscription.request:(J)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
private void verifyRegisteredWithRightExecutor(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isRegistered:()Z
ifeq 2
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Channel handler MUST be registered with the same EventExecutor that it is created with."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void cancel();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:()[I
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 5
4: 3
5: 3
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.CANCELLED:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.subscription:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.CANCELLED:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
private void provideSubscription();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:()[I
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 1
2: 3
3: 6
4: 6
5: 6
6: 5
default: 6
}
1: StackMap locals:
StackMap stack:
aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeStart:()V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.subscription:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
private void maybeStart();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 4
1: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.RUNNING:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
2: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeRequestMore:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.INACTIVE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
static int[] $SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.values:()[Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.CANCELLED:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
bipush 6
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.COMPLETE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.INACTIVE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_SUBSCRIPTION:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.NO_SUBSCRIPTION_OR_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.RUNNING:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
private void lambda$1(io.netty.util.concurrent.Future);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.maybeRequestMore:()V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 1 1 future Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
private void lambda$2(io.netty.util.concurrent.Future);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber.complete:()V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
0 1 1 channelFuture Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
private void lambda$3();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic io.micronaut.http.netty.reactive.HandlerSubscriber.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerSubscriber$State:()[I
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
invokevirtual io.micronaut.http.netty.reactive.HandlerSubscriber$State.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 3
4: 1
5: 1
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.reactive.HandlerSubscriber.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
2: aload 0
getstatic io.micronaut.http.netty.reactive.HandlerSubscriber$State.COMPLETE:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
putfield io.micronaut.http.netty.reactive.HandlerSubscriber.state:Lio/micronaut/http/netty/reactive/HandlerSubscriber$State;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/netty/reactive/HandlerSubscriber<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lio/netty/channel/ChannelDuplexHandler;Lorg/reactivestreams/Subscriber<TT;>;
SourceFile: "HandlerSubscriber.java"
NestMembers:
io.micronaut.http.netty.reactive.HandlerSubscriber$State
InnerClasses:
final State = io.micronaut.http.netty.reactive.HandlerSubscriber$State of io.micronaut.http.netty.reactive.HandlerSubscriber
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
io.micronaut.core.annotation.Internal()