public class org.springframework.messaging.simp.stomp.Reactor2TcpStompClient extends org.springframework.messaging.simp.stomp.StompClientSupport implements org.springframework.context.Lifecycle
{
private final org.springframework.messaging.tcp.TcpOperations tcpClient;
private final io.netty.channel.EventLoopGroup eventLoopGroup;
private final reactor.Environment environment;
private volatile boolean running;
public void <init>()
{
int v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v = (int) 61613;
specialinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: void <init>(java.lang.String,int)>("127.0.0.1", v);
return;
}
public void <init>(java.lang.String, int)
{
io.netty.channel.EventLoopGroup v;
io.netty.channel.nio.NioEventLoopGroup v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient$StompTcpClientSpecFactory v;
org.springframework.messaging.tcp.reactor.Reactor2TcpClient v;
int v;
java.lang.String v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
reactor.Environment v, v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<org.springframework.messaging.simp.stomp.StompClientSupport: void <init>()>();
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean running> = 0;
v = staticinvoke <org.springframework.messaging.tcp.reactor.Reactor2TcpClient: io.netty.channel.nio.NioEventLoopGroup initEventLoopGroup()>();
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: io.netty.channel.EventLoopGroup eventLoopGroup> = v;
v = new reactor.Environment;
specialinvoke v.<reactor.Environment: void <init>()>();
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: reactor.Environment environment> = v;
v = new org.springframework.messaging.tcp.reactor.Reactor2TcpClient;
v = new org.springframework.messaging.simp.stomp.Reactor2TcpStompClient$StompTcpClientSpecFactory;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: io.netty.channel.EventLoopGroup eventLoopGroup>;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: reactor.Environment environment>;
specialinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient$StompTcpClientSpecFactory: void <init>(java.lang.String,int,io.netty.channel.EventLoopGroup,reactor.Environment)>(v, v, v, v);
specialinvoke v.<org.springframework.messaging.tcp.reactor.Reactor2TcpClient: void <init>(reactor.io.net.NetStreams$TcpClientFactory)>(v);
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.messaging.tcp.TcpOperations tcpClient> = v;
return;
}
public void <init>(org.springframework.messaging.tcp.TcpOperations)
{
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
org.springframework.messaging.tcp.TcpOperations v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v := @parameter: org.springframework.messaging.tcp.TcpOperations;
specialinvoke v.<org.springframework.messaging.simp.stomp.StompClientSupport: void <init>()>();
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean running> = 0;
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.messaging.tcp.TcpOperations tcpClient> = v;
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: io.netty.channel.EventLoopGroup eventLoopGroup> = null;
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: reactor.Environment environment> = null;
return;
}
public void start()
{
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
boolean v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v = virtualinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean isRunning()>();
if v != 0 goto label;
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean running> = 1;
label:
return;
}
public void stop()
{
io.netty.channel.EventLoopGroup v, v;
java.lang.InterruptedException v;
org.apache.commons.logging.Log v, v;
io.netty.util.concurrent.Future v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
reactor.Environment v, v;
boolean v, v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v = virtualinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean isRunning()>();
if v == 0 goto label;
v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean running> = 0;
label:
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: io.netty.channel.EventLoopGroup eventLoopGroup>;
if v == null goto label;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: io.netty.channel.EventLoopGroup eventLoopGroup>;
v = interfaceinvoke v.<io.netty.channel.EventLoopGroup: io.netty.util.concurrent.Future shutdownGracefully()>();
interfaceinvoke v.<io.netty.util.concurrent.Future: boolean await(long)>(5000L);
label:
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: reactor.Environment environment>;
if v == null goto label;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: reactor.Environment environment>;
virtualinvoke v.<reactor.Environment: void shutdown()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isErrorEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>("Failed to shutdown gracefully", v);
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public boolean isRunning()
{
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
boolean v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: boolean running>;
return v;
}
public org.springframework.util.concurrent.ListenableFuture connect(org.springframework.messaging.simp.stomp.StompSessionHandler)
{
org.springframework.messaging.simp.stomp.StompSessionHandler v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
org.springframework.util.concurrent.ListenableFuture v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v := @parameter: org.springframework.messaging.simp.stomp.StompSessionHandler;
v = virtualinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.util.concurrent.ListenableFuture connect(org.springframework.messaging.simp.stomp.StompHeaders,org.springframework.messaging.simp.stomp.StompSessionHandler)>(null, v);
return v;
}
public org.springframework.util.concurrent.ListenableFuture connect(org.springframework.messaging.simp.stomp.StompHeaders, org.springframework.messaging.simp.stomp.StompSessionHandler)
{
org.springframework.util.concurrent.ListenableFuture v;
org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession v;
org.springframework.messaging.simp.stomp.StompSessionHandler v;
org.springframework.messaging.simp.stomp.StompHeaders v;
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
org.springframework.messaging.tcp.TcpOperations v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v := @parameter: org.springframework.messaging.simp.stomp.StompHeaders;
v := @parameter: org.springframework.messaging.simp.stomp.StompSessionHandler;
v = virtualinvoke v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession createSession(org.springframework.messaging.simp.stomp.StompHeaders,org.springframework.messaging.simp.stomp.StompSessionHandler)>(v, v);
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.messaging.tcp.TcpOperations tcpClient>;
interfaceinvoke v.<org.springframework.messaging.tcp.TcpOperations: org.springframework.util.concurrent.ListenableFuture connect(org.springframework.messaging.tcp.TcpConnectionHandler)>(v);
v = interfaceinvoke v.<org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession: org.springframework.util.concurrent.ListenableFuture getSessionFuture()>();
return v;
}
public void shutdown()
{
org.springframework.messaging.simp.stomp.Reactor2TcpStompClient v;
org.springframework.messaging.tcp.TcpOperations v;
v := @this: org.springframework.messaging.simp.stomp.Reactor2TcpStompClient;
v = v.<org.springframework.messaging.simp.stomp.Reactor2TcpStompClient: org.springframework.messaging.tcp.TcpOperations tcpClient>;
interfaceinvoke v.<org.springframework.messaging.tcp.TcpOperations: org.springframework.util.concurrent.ListenableFuture shutdown()>();
return;
}
}