public class io.micronaut.http.netty.websocket.NettyRxWebSocketSession implements io.micronaut.websocket.RxWebSocketSession
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.netty.websocket.NettyRxWebSocketSession
super_class: java.lang.Object
{
public static final io.netty.util.AttributeKey<io.micronaut.http.netty.websocket.NettyRxWebSocketSession> WEB_SOCKET_SESSION_KEY;
descriptor: Lio/netty/util/AttributeKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lio/netty/util/AttributeKey<Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;>;
private final java.lang.String id;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.Channel channel;
descriptor: Lio/netty/channel/Channel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.micronaut.http.HttpRequest<?> request;
descriptor: Lio/micronaut/http/HttpRequest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/micronaut/http/HttpRequest<*>;
private final java.lang.String protocolVersion;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isSecure;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.micronaut.http.codec.MediaTypeCodecRegistry codecRegistry;
descriptor: Lio/micronaut/http/codec/MediaTypeCodecRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> attributes;
descriptor: Lio/micronaut/core/convert/value/MutableConvertibleValues;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/micronaut/core/convert/value/MutableConvertibleValues<Ljava/lang/Object;>;
private final io.micronaut.http.netty.websocket.WebSocketMessageEncoder messageEncoder;
descriptor: Lio/micronaut/http/netty/websocket/WebSocketMessageEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "micronaut.websocket.session"
invokestatic io.netty.util.AttributeKey.newInstance:(Ljava/lang/String;)Lio/netty/util/AttributeKey;
putstatic io.micronaut.http.netty.websocket.NettyRxWebSocketSession.WEB_SOCKET_SESSION_KEY:Lio/netty/util/AttributeKey;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.lang.String, io.netty.channel.Channel, io.micronaut.http.HttpRequest<?>, io.micronaut.http.codec.MediaTypeCodecRegistry, java.lang.String, );
descriptor: (Ljava/lang/String;Lio/netty/channel/Channel;Lio/micronaut/http/HttpRequest;Lio/micronaut/http/codec/MediaTypeCodecRegistry;Ljava/lang/String;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.id:Ljava/lang/String;
2: aload 0
aload 2
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
3: aload 0
aload 3
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.request:Lio/micronaut/http/HttpRequest;
4: aload 0
aload 5
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.protocolVersion:Ljava/lang/String;
5: aload 0
iload 6
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.isSecure:Z
6: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
getstatic io.micronaut.http.netty.websocket.NettyRxWebSocketSession.WEB_SOCKET_SESSION_KEY:Lio/netty/util/AttributeKey;
invokeinterface io.netty.channel.Channel.attr:(Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
aload 0
invokeinterface io.netty.util.Attribute.set:(Ljava/lang/Object;)V
7: aload 0
aload 4
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.codecRegistry:Lio/micronaut/http/codec/MediaTypeCodecRegistry;
8: aload 0
new io.micronaut.http.netty.websocket.WebSocketMessageEncoder
dup
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.codecRegistry:Lio/micronaut/http/codec/MediaTypeCodecRegistry;
invokespecial io.micronaut.http.netty.websocket.WebSocketMessageEncoder.<init>:(Lio/micronaut/http/codec/MediaTypeCodecRegistry;)V
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.messageEncoder:Lio/micronaut/http/netty/websocket/WebSocketMessageEncoder;
9: aload 0
aload 3
ldc "micronaut.SESSION"
ldc Lio/micronaut/core/convert/value/MutableConvertibleValues;
invokeinterface io.micronaut.http.HttpRequest.getAttribute:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
invokedynamic get()Ljava/util/function/Supplier;
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:
()Ljava/lang/Object;
io/micronaut/core/convert/value/MutableConvertibleValuesMap.<init>()V (8)
()Lio/micronaut/core/convert/value/MutableConvertibleValues;
invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast io.micronaut.core.convert.value.MutableConvertibleValues
putfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 11 1 id Ljava/lang/String;
0 11 2 channel Lio/netty/channel/Channel;
0 11 3 request Lio/micronaut/http/HttpRequest<*>;
0 11 4 codecRegistry Lio/micronaut/http/codec/MediaTypeCodecRegistry;
0 11 5 protocolVersion Ljava/lang/String;
0 11 6 isSecure Z
Signature: (Ljava/lang/String;Lio/netty/channel/Channel;Lio/micronaut/http/HttpRequest<*>;Lio/micronaut/http/codec/MediaTypeCodecRegistry;Ljava/lang/String;Z)V
MethodParameters:
Name Flags
id
channel
request
codecRegistry
protocolVersion
isSecure
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.id:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> getAttributes();
descriptor: ()Lio/micronaut/core/convert/value/MutableConvertibleValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Lio/micronaut/core/convert/value/MutableConvertibleValues<Ljava/lang/Object;>;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isOpen:()Z
ifeq 1
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public boolean isWritable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isWritable:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public boolean isSecure();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.isSecure:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public java.util.Set<? extends io.micronaut.websocket.RxWebSocketSession> getOpenSessions();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Ljava/util/Set<+Lio/micronaut/websocket/RxWebSocketSession;>;
public java.net.URI getRequestURI();
descriptor: ()Ljava/net/URI;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.request:Lio/micronaut/http/HttpRequest;
invokeinterface io.micronaut.http.HttpRequest.getUri:()Ljava/net/URI;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public io.micronaut.core.convert.value.ConvertibleMultiValues<java.lang.String> getRequestParameters();
descriptor: ()Lio/micronaut/core/convert/value/ConvertibleMultiValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.request:Lio/micronaut/http/HttpRequest;
invokeinterface io.micronaut.http.HttpRequest.getParameters:()Lio/micronaut/http/HttpParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Lio/micronaut/core/convert/value/ConvertibleMultiValues<Ljava/lang/String;>;
public java.lang.String getProtocolVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.protocolVersion:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public <T> java.util.concurrent.CompletableFuture<T> sendAsync(T, io.micronaut.http.MediaType);
descriptor: (Ljava/lang/Object;Lio/micronaut/http/MediaType;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.isOpen:()Z
ifeq 10
1: aload 1
ifnull 9
2: new java.util.concurrent.CompletableFuture
dup
invokespecial java.util.concurrent.CompletableFuture.<init>:()V
astore 3
start local 3 3: aload 1
instanceof io.netty.handler.codec.http.websocketx.WebSocketFrame
ifeq 6
4: aload 1
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
astore 4
start local 4 5: goto 7
end local 4 6: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.messageEncoder:Lio/micronaut/http/netty/websocket/WebSocketMessageEncoder;
aload 1
aload 2
invokevirtual io.micronaut.http.netty.websocket.WebSocketMessageEncoder.encodeMessage:(Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
astore 4
start local 4 7: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketFrame
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
aload 4
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
aload 3
aload 1
invokedynamic operationComplete(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Object;)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/websocket/NettyRxWebSocketSession.lambda$1(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Object;Lio/netty/util/concurrent/Future;)V (6)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
8: aload 3
areturn
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aconst_null
invokestatic java.util.concurrent.CompletableFuture.completedFuture:(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
areturn
10: StackMap locals:
StackMap stack:
new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
ldc "Session closed"
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 11 1 message TT;
0 11 2 mediaType Lio/micronaut/http/MediaType;
3 9 3 future Ljava/util/concurrent/CompletableFuture<TT;>;
5 6 4 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
7 9 4 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
Signature: <T:Ljava/lang/Object;>(TT;Lio/micronaut/http/MediaType;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
mediaType
public void sendSync(java.lang.Object, io.micronaut.http.MediaType);
descriptor: (Ljava/lang/Object;Lio/micronaut/http/MediaType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.isOpen:()Z
ifeq 12
1: aload 1
ifnull 13
2: aload 1
instanceof io.netty.handler.codec.http.websocketx.WebSocketFrame
ifeq 5
3: aload 1
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
astore 3
start local 3 4: goto 6
end local 3 5: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.messageEncoder:Lio/micronaut/http/netty/websocket/WebSocketMessageEncoder;
aload 1
aload 2
invokevirtual io.micronaut.http.netty.websocket.WebSocketMessageEncoder.encodeMessage:(Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
astore 3
start local 3 6: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketFrame
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
aload 3
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.sync:()Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.get:()Ljava/lang/Object;
pop
end local 3 7: goto 13
StackMap locals: io.micronaut.http.netty.websocket.NettyRxWebSocketSession java.lang.Object io.micronaut.http.MediaType
StackMap stack: java.lang.InterruptedException
8: astore 3
start local 3 9: new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
new java.lang.StringBuilder
dup
ldc "Send interrupt: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.InterruptedException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 10: StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
astore 3
start local 3 11: new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
new java.lang.StringBuilder
dup
ldc "Send Failure: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.util.concurrent.ExecutionException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 12: StackMap locals:
StackMap stack:
new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
ldc "Session closed"
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 14 1 message Ljava/lang/Object;
0 14 2 mediaType Lio/micronaut/http/MediaType;
4 5 3 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
6 7 3 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
9 10 3 e Ljava/lang/InterruptedException;
11 12 3 e Ljava/util/concurrent/ExecutionException;
Exception table:
from to target type
2 7 8 Class java.lang.InterruptedException
2 7 10 Class java.util.concurrent.ExecutionException
MethodParameters:
Name Flags
message
mediaType
public <T> io.reactivex.Flowable<T> send(T, io.micronaut.http.MediaType);
descriptor: (Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/reactivex/Flowable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: invokestatic io.reactivex.Flowable.empty:()Lio/reactivex/Flowable;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokedynamic subscribe(Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/reactivex/FlowableOnSubscribe;
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/reactivex/FlowableEmitter;)V
io/micronaut/http/netty/websocket/NettyRxWebSocketSession.lambda$2(Ljava/lang/Object;Lio/micronaut/http/MediaType;Lio/reactivex/FlowableEmitter;)V (7)
(Lio/reactivex/FlowableEmitter;)V
3: getstatic io.reactivex.BackpressureStrategy.ERROR:Lio/reactivex/BackpressureStrategy;
4: invokestatic io.reactivex.Flowable.create:(Lio/reactivex/FlowableOnSubscribe;Lio/reactivex/BackpressureStrategy;)Lio/reactivex/Flowable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 5 1 message TT;
0 5 2 mediaType Lio/micronaut/http/MediaType;
Signature: <T:Ljava/lang/Object;>(TT;Lio/micronaut/http/MediaType;)Lio/reactivex/Flowable<TT;>;
MethodParameters:
Name Flags
message
mediaType
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.micronaut.websocket.CloseReason.NORMAL:Lio/micronaut/websocket/CloseReason;
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.close:(Lio/micronaut/websocket/CloseReason;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public void close(io.micronaut.websocket.CloseReason);
descriptor: (Lio/micronaut/websocket/CloseReason;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isOpen:()Z
ifeq 3
1: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame
dup
aload 1
invokevirtual io.micronaut.websocket.CloseReason.getCode:()I
aload 1
invokevirtual io.micronaut.websocket.CloseReason.getReason:()Ljava/lang/String;
invokespecial io.netty.handler.codec.http.websocketx.CloseWebSocketFrame.<init>:(ILjava/lang/String;)V
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
2: aload 0
invokedynamic operationComplete(Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;)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/websocket/NettyRxWebSocketSession.lambda$4(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
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 4 1 closeReason Lio/micronaut/websocket/CloseReason;
MethodParameters:
Name Flags
closeReason
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "WebSocket Session: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> put(java.lang.CharSequence, );
descriptor: (Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/micronaut/core/convert/value/MutableConvertibleValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
aload 1
aload 2
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.put:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/micronaut/core/convert/value/MutableConvertibleValues;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 1 1 key Ljava/lang/CharSequence;
0 1 2 value Ljava/lang/Object;
Signature: (Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/micronaut/core/convert/value/MutableConvertibleValues<Ljava/lang/Object;>;
RuntimeInvisibleParameterAnnotations:
0:
1:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
key
value
public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> remove(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Lio/micronaut/core/convert/value/MutableConvertibleValues;
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.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
aload 1
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.remove:(Ljava/lang/CharSequence;)Lio/micronaut/core/convert/value/MutableConvertibleValues;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 1 1 key Ljava/lang/CharSequence;
Signature: (Ljava/lang/CharSequence;)Lio/micronaut/core/convert/value/MutableConvertibleValues<Ljava/lang/Object;>;
MethodParameters:
Name Flags
key
public io.micronaut.core.convert.value.MutableConvertibleValues<java.lang.Object> clear();
descriptor: ()Lio/micronaut/core/convert/value/MutableConvertibleValues;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.clear:()Lio/micronaut/core/convert/value/MutableConvertibleValues;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Lio/micronaut/core/convert/value/MutableConvertibleValues<Ljava/lang/Object;>;
public java.util.Set<java.lang.String> names();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.names:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public java.util.Collection<java.lang.Object> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.values:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
Signature: ()Ljava/util/Collection<Ljava/lang/Object;>;
public <T> java.util.Optional<T> get(java.lang.CharSequence, io.micronaut.core.convert.ArgumentConversionContext<T>);
descriptor: (Ljava/lang/CharSequence;Lio/micronaut/core/convert/ArgumentConversionContext;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.attributes:Lio/micronaut/core/convert/value/MutableConvertibleValues;
aload 1
aload 2
invokeinterface io.micronaut.core.convert.value.MutableConvertibleValues.get:(Ljava/lang/CharSequence;Lio/micronaut/core/convert/ArgumentConversionContext;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 1 1 name Ljava/lang/CharSequence;
0 1 2 conversionContext Lio/micronaut/core/convert/ArgumentConversionContext<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/CharSequence;Lio/micronaut/core/convert/ArgumentConversionContext<TT;>;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
name
conversionContext
public org.reactivestreams.Publisher send(java.lang.Object, io.micronaut.http.MediaType);
descriptor: (Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lorg/reactivestreams/Publisher;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Object
aload 2
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.send:(Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/reactivex/Flowable;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$1(java.util.concurrent.CompletableFuture, java.lang.Object, io.netty.util.concurrent.Future);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/lang/Object;Lio/netty/util/concurrent/Future;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=3
start local 2 0: aload 2
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 3
1: aload 0
aload 1
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
new java.lang.StringBuilder
dup
ldc "Send Failure: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
4: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 5 2 f Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
private void lambda$2(java.lang.Object, io.micronaut.http.MediaType, io.reactivex.FlowableEmitter);
descriptor: (Ljava/lang/Object;Lio/micronaut/http/MediaType;Lio/reactivex/FlowableEmitter;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 3 0: aload 0
invokevirtual io.micronaut.http.netty.websocket.NettyRxWebSocketSession.isOpen:()Z
ifne 3
1: aload 3
new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
ldc "Session closed"
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;)V
invokeinterface io.reactivex.FlowableEmitter.onError:(Ljava/lang/Throwable;)V
2: goto 9
3: StackMap locals:
StackMap stack:
aload 1
instanceof io.netty.handler.codec.http.websocketx.WebSocketFrame
ifeq 6
4: aload 1
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
astore 4
start local 4 5: goto 7
end local 4 6: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.messageEncoder:Lio/micronaut/http/netty/websocket/WebSocketMessageEncoder;
aload 1
aload 2
invokevirtual io.micronaut.http.netty.websocket.WebSocketMessageEncoder.encodeMessage:(Ljava/lang/Object;Lio/micronaut/http/MediaType;)Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
astore 4
start local 4 7: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketFrame
StackMap stack:
aload 0
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
aload 4
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
astore 5
start local 5 8: aload 5
aload 3
aload 1
invokedynamic operationComplete(Lio/reactivex/FlowableEmitter;Ljava/lang/Object;)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/websocket/NettyRxWebSocketSession.lambda$3(Lio/reactivex/FlowableEmitter;Ljava/lang/Object;Lio/netty/util/concurrent/Future;)V (6)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
end local 5 end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 10 3 emitter Lio/reactivex/FlowableEmitter<TT;>;
5 6 4 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
7 9 4 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
8 9 5 channelFuture Lio/netty/channel/ChannelFuture;
Exceptions:
throws java.lang.Exception
private void lambda$4(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
getfield io.micronaut.http.netty.websocket.NettyRxWebSocketSession.channel:Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/netty/websocket/NettyRxWebSocketSession;
0 1 1 future Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
private static void lambda$3(io.reactivex.FlowableEmitter, java.lang.Object, io.netty.util.concurrent.Future);
descriptor: (Lio/reactivex/FlowableEmitter;Ljava/lang/Object;Lio/netty/util/concurrent/Future;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=3
start local 2 0: aload 2
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 4
1: aload 0
aload 1
invokeinterface io.reactivex.FlowableEmitter.onNext:(Ljava/lang/Object;)V
2: aload 0
invokeinterface io.reactivex.FlowableEmitter.onComplete:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new io.micronaut.websocket.exceptions.WebSocketSessionException
dup
new java.lang.StringBuilder
dup
ldc "Send Failure: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokespecial io.micronaut.websocket.exceptions.WebSocketSessionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
invokeinterface io.reactivex.FlowableEmitter.onError:(Ljava/lang/Throwable;)V
5: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 6 2 future Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
}
SourceFile: "NettyRxWebSocketSession.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
io.micronaut.core.annotation.Internal()