public class org.apache.zookeeper.server.quorum.DelayRequestProcessor extends java.lang.Object implements org.apache.zookeeper.server.RequestProcessor
{
private boolean blocking;
org.apache.zookeeper.server.RequestProcessor next;
private java.util.concurrent.LinkedBlockingQueue incomingRequests;
private void <init>(org.apache.zookeeper.server.RequestProcessor)
{
org.apache.zookeeper.server.RequestProcessor v;
java.util.concurrent.LinkedBlockingQueue v;
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
v := @this: org.apache.zookeeper.server.quorum.DelayRequestProcessor;
v := @parameter: org.apache.zookeeper.server.RequestProcessor;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.LinkedBlockingQueue;
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>()>();
v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: java.util.concurrent.LinkedBlockingQueue incomingRequests> = v;
v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: boolean blocking> = 1;
v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: org.apache.zookeeper.server.RequestProcessor next> = v;
return;
}
public void processRequest(org.apache.zookeeper.server.Request) throws org.apache.zookeeper.server.RequestProcessor$RequestProcessorException
{
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
org.apache.zookeeper.server.RequestProcessor v;
java.util.concurrent.LinkedBlockingQueue v;
boolean v;
v := @this: org.apache.zookeeper.server.quorum.DelayRequestProcessor;
v := @parameter: org.apache.zookeeper.server.Request;
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: boolean blocking>;
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: java.util.concurrent.LinkedBlockingQueue incomingRequests>;
virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: org.apache.zookeeper.server.RequestProcessor next>;
interfaceinvoke v.<org.apache.zookeeper.server.RequestProcessor: void processRequest(org.apache.zookeeper.server.Request)>(v);
label:
return;
}
public void submitRequest(org.apache.zookeeper.server.Request) throws org.apache.zookeeper.server.RequestProcessor$RequestProcessorException
{
org.apache.zookeeper.server.Request v;
org.apache.zookeeper.server.RequestProcessor v;
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
v := @this: org.apache.zookeeper.server.quorum.DelayRequestProcessor;
v := @parameter: org.apache.zookeeper.server.Request;
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: org.apache.zookeeper.server.RequestProcessor next>;
interfaceinvoke v.<org.apache.zookeeper.server.RequestProcessor: void processRequest(org.apache.zookeeper.server.Request)>(v);
return;
}
public void shutdown()
{
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
v := @this: org.apache.zookeeper.server.quorum.DelayRequestProcessor;
return;
}
public void unblockQueue() throws org.apache.zookeeper.server.RequestProcessor$RequestProcessorException
{
java.util.Iterator v;
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
java.lang.Object v;
org.apache.zookeeper.server.RequestProcessor v;
java.util.concurrent.LinkedBlockingQueue v;
boolean v, v;
v := @this: org.apache.zookeeper.server.quorum.DelayRequestProcessor;
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: boolean blocking>;
if v == 0 goto label;
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: java.util.concurrent.LinkedBlockingQueue incomingRequests>;
v = virtualinvoke v.<java.util.concurrent.LinkedBlockingQueue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: org.apache.zookeeper.server.RequestProcessor next>;
interfaceinvoke v.<org.apache.zookeeper.server.RequestProcessor: void processRequest(org.apache.zookeeper.server.Request)>(v);
goto label;
label:
v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: boolean blocking> = 0;
label:
return;
}
public static org.apache.zookeeper.server.quorum.DelayRequestProcessor injectDelayRequestProcessor(org.apache.zookeeper.server.quorum.FollowerZooKeeperServer)
{
org.apache.zookeeper.server.quorum.CommitProcessor v, v;
org.apache.zookeeper.server.quorum.DelayRequestProcessor v;
org.apache.zookeeper.server.quorum.FollowerZooKeeperServer v;
org.apache.zookeeper.server.RequestProcessor v;
v := @parameter: org.apache.zookeeper.server.quorum.FollowerZooKeeperServer;
v = v.<org.apache.zookeeper.server.quorum.FollowerZooKeeperServer: org.apache.zookeeper.server.quorum.CommitProcessor commitProcessor>;
v = v.<org.apache.zookeeper.server.quorum.CommitProcessor: org.apache.zookeeper.server.RequestProcessor nextProcessor>;
v = new org.apache.zookeeper.server.quorum.DelayRequestProcessor;
specialinvoke v.<org.apache.zookeeper.server.quorum.DelayRequestProcessor: void <init>(org.apache.zookeeper.server.RequestProcessor)>(v);
v = v.<org.apache.zookeeper.server.quorum.FollowerZooKeeperServer: org.apache.zookeeper.server.quorum.CommitProcessor commitProcessor>;
v.<org.apache.zookeeper.server.quorum.CommitProcessor: org.apache.zookeeper.server.RequestProcessor nextProcessor> = v;
return v;
}
}