public class org.apache.zookeeper.server.controller.ControllableConnection extends org.apache.zookeeper.server.NIOServerCnxn
{
private static final org.slf4j.Logger LOG;
private final org.apache.zookeeper.server.controller.ControllableConnectionFactory controller;
public void <init>(org.apache.zookeeper.server.ZooKeeperServer, java.nio.channels.SocketChannel, java.nio.channels.SelectionKey, org.apache.zookeeper.server.NIOServerCnxnFactory, org.apache.zookeeper.server.NIOServerCnxnFactory$SelectorThread) throws java.io.IOException
{
org.apache.zookeeper.server.ZooKeeperServer v;
org.apache.zookeeper.server.NIOServerCnxnFactory$SelectorThread v;
java.nio.channels.SocketChannel v;
java.nio.channels.SelectionKey v;
org.apache.zookeeper.server.NIOServerCnxnFactory v;
org.apache.zookeeper.server.controller.ControllableConnection v;
v := @this: org.apache.zookeeper.server.controller.ControllableConnection;
v := @parameter: org.apache.zookeeper.server.ZooKeeperServer;
v := @parameter: java.nio.channels.SocketChannel;
v := @parameter: java.nio.channels.SelectionKey;
v := @parameter: org.apache.zookeeper.server.NIOServerCnxnFactory;
v := @parameter: org.apache.zookeeper.server.NIOServerCnxnFactory$SelectorThread;
specialinvoke v.<org.apache.zookeeper.server.NIOServerCnxn: void <init>(org.apache.zookeeper.server.ZooKeeperServer,java.nio.channels.SocketChannel,java.nio.channels.SelectionKey,org.apache.zookeeper.server.NIOServerCnxnFactory,org.apache.zookeeper.server.NIOServerCnxnFactory$SelectorThread)>(v, v, v, v, v);
v.<org.apache.zookeeper.server.controller.ControllableConnection: org.apache.zookeeper.server.controller.ControllableConnectionFactory controller> = v;
return;
}
public int sendResponse(org.apache.zookeeper.proto.ReplyHeader, org.apache.jute.Record, java.lang.String)
{
org.slf4j.Logger v, v;
org.apache.zookeeper.server.controller.ControllableConnection v;
java.io.IOException v;
org.apache.jute.Record v;
int v, v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v;
java.lang.String v;
org.apache.zookeeper.proto.ReplyHeader v;
boolean v;
v := @this: org.apache.zookeeper.server.controller.ControllableConnection;
v := @parameter: org.apache.zookeeper.proto.ReplyHeader;
v := @parameter: org.apache.jute.Record;
v := @parameter: java.lang.String;
v = v.<org.apache.zookeeper.server.controller.ControllableConnection: org.apache.zookeeper.server.controller.ControllableConnectionFactory controller>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: boolean shouldSendResponse()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.apache.zookeeper.server.NIOServerCnxn: int sendResponse(org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,java.lang.String)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.controller.ControllableConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("IO Exception occurred", v);
goto label;
label:
v = <org.apache.zookeeper.server.controller.ControllableConnection: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Controller is configured to NOT sending response back to client.");
label:
v = (int) -1;
return v;
catch java.io.IOException from label to label with label;
}
protected void readRequest() throws java.io.IOException
{
org.apache.zookeeper.server.ByteBufferInputStream v;
org.apache.zookeeper.server.controller.ControllableConnection v;
java.nio.ByteBuffer v, v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.KeeperException$Code v;
org.apache.zookeeper.proto.RequestHeader v;
int v, v;
org.apache.zookeeper.server.controller.ControllableConnectionFactory v, v;
org.apache.zookeeper.proto.ReplyHeader v;
boolean v;
v := @this: org.apache.zookeeper.server.controller.ControllableConnection;
v = v.<org.apache.zookeeper.server.controller.ControllableConnection: org.apache.zookeeper.server.controller.ControllableConnectionFactory controller>;
v = virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: boolean shouldFailNextRequest()>();
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.controller.ControllableConnection: java.nio.ByteBuffer incomingBuffer>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer slice()>();
v = new org.apache.zookeeper.server.ByteBufferInputStream;
specialinvoke v.<org.apache.zookeeper.server.ByteBufferInputStream: void <init>(java.nio.ByteBuffer)>(v);
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = new org.apache.zookeeper.proto.RequestHeader;
specialinvoke v.<org.apache.zookeeper.proto.RequestHeader: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.proto.RequestHeader: void deserialize(org.apache.jute.InputArchive,java.lang.String)>(v, "header");
v = new org.apache.zookeeper.proto.ReplyHeader;
v = virtualinvoke v.<org.apache.zookeeper.proto.RequestHeader: int getXid()>();
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code APIERROR>;
v = virtualinvoke v.<org.apache.zookeeper.KeeperException$Code: int intValue()>();
specialinvoke v.<org.apache.zookeeper.proto.ReplyHeader: void <init>(int,long,int)>(v, 0L, v);
specialinvoke v.<org.apache.zookeeper.server.NIOServerCnxn: int sendResponse(org.apache.zookeeper.proto.ReplyHeader,org.apache.jute.Record,java.lang.String)>(v, null, null);
goto label;
label:
v = v.<org.apache.zookeeper.server.controller.ControllableConnection: org.apache.zookeeper.server.controller.ControllableConnectionFactory controller>;
virtualinvoke v.<org.apache.zookeeper.server.controller.ControllableConnectionFactory: void delayRequestIfNeeded()>();
specialinvoke v.<org.apache.zookeeper.server.NIOServerCnxn: void readRequest()>();
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/controller/ControllableConnection;");
<org.apache.zookeeper.server.controller.ControllableConnection: org.slf4j.Logger LOG> = v;
return;
}
}