public abstract class org.apache.http.client.methods.AbstractExecutionAwareRequest extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.client.methods.HttpExecutionAware, org.apache.http.client.methods.AbortableHttpRequest, java.lang.Cloneable, org.apache.http.HttpRequest
{
private final java.util.concurrent.atomic.AtomicMarkableReference cancellableRef;
protected void <init>()
{
java.util.concurrent.atomic.AtomicMarkableReference v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
specialinvoke v.<org.apache.http.message.AbstractHttpMessage: void <init>()>();
v = new java.util.concurrent.atomic.AtomicMarkableReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: void <init>(java.lang.Object,boolean)>(null, 0);
v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef> = v;
return;
}
public void setConnectionRequest(org.apache.http.conn.ClientConnectionRequest)
{
org.apache.http.conn.ClientConnectionRequest v;
org.apache.http.client.methods.AbstractExecutionAwareRequest$1 v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v := @parameter: org.apache.http.conn.ClientConnectionRequest;
v = new org.apache.http.client.methods.AbstractExecutionAwareRequest$1;
specialinvoke v.<org.apache.http.client.methods.AbstractExecutionAwareRequest$1: void <init>(org.apache.http.client.methods.AbstractExecutionAwareRequest,org.apache.http.conn.ClientConnectionRequest)>(v, v);
virtualinvoke v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: void setCancellable(org.apache.http.concurrent.Cancellable)>(v);
return;
}
public void setReleaseTrigger(org.apache.http.conn.ConnectionReleaseTrigger)
{
org.apache.http.client.methods.AbstractExecutionAwareRequest$2 v;
org.apache.http.conn.ConnectionReleaseTrigger v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v := @parameter: org.apache.http.conn.ConnectionReleaseTrigger;
v = new org.apache.http.client.methods.AbstractExecutionAwareRequest$2;
specialinvoke v.<org.apache.http.client.methods.AbstractExecutionAwareRequest$2: void <init>(org.apache.http.client.methods.AbstractExecutionAwareRequest,org.apache.http.conn.ConnectionReleaseTrigger)>(v, v);
virtualinvoke v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: void setCancellable(org.apache.http.concurrent.Cancellable)>(v);
return;
}
public void abort()
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicMarkableReference v, v, v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
boolean v, v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
label:
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean isMarked()>();
if v != 0 goto label;
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: java.lang.Object getReference()>();
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean compareAndSet(java.lang.Object,java.lang.Object,boolean,boolean)>(v, v, 0, 1);
if v == 0 goto label;
if v == null goto label;
interfaceinvoke v.<org.apache.http.concurrent.Cancellable: boolean cancel()>();
goto label;
label:
return;
}
public boolean isAborted()
{
java.util.concurrent.atomic.AtomicMarkableReference v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
boolean v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean isMarked()>();
return v;
}
public void setCancellable(org.apache.http.concurrent.Cancellable)
{
org.apache.http.concurrent.Cancellable v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicMarkableReference v, v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
boolean v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v := @parameter: org.apache.http.concurrent.Cancellable;
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: java.lang.Object getReference()>();
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean compareAndSet(java.lang.Object,java.lang.Object,boolean,boolean)>(v, v, 0, 0);
if v != 0 goto label;
interfaceinvoke v.<org.apache.http.concurrent.Cancellable: boolean cancel()>();
label:
return;
}
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
{
org.apache.http.message.HeaderGroup v;
org.apache.http.params.HttpParams v;
java.lang.Object v, v, v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v = specialinvoke v.<java.lang.Object: java.lang.Object clone()>();
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: org.apache.http.message.HeaderGroup headergroup>;
v = staticinvoke <org.apache.http.client.utils.CloneUtils: java.lang.Object cloneObject(java.lang.Object)>(v);
v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: org.apache.http.message.HeaderGroup headergroup> = v;
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: org.apache.http.params.HttpParams params>;
v = staticinvoke <org.apache.http.client.utils.CloneUtils: java.lang.Object cloneObject(java.lang.Object)>(v);
v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: org.apache.http.params.HttpParams params> = v;
return v;
}
public void completed()
{
java.util.concurrent.atomic.AtomicMarkableReference v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: void set(java.lang.Object,boolean)>(null, 0);
return;
}
public void reset()
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicMarkableReference v, v, v;
org.apache.http.client.methods.AbstractExecutionAwareRequest v;
boolean v, v;
v := @this: org.apache.http.client.methods.AbstractExecutionAwareRequest;
label:
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean isMarked()>();
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: java.lang.Object getReference()>();
if v == null goto label;
interfaceinvoke v.<org.apache.http.concurrent.Cancellable: boolean cancel()>();
label:
v = v.<org.apache.http.client.methods.AbstractExecutionAwareRequest: java.util.concurrent.atomic.AtomicMarkableReference cancellableRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicMarkableReference: boolean compareAndSet(java.lang.Object,java.lang.Object,boolean,boolean)>(v, null, v, 0);
if v == 0 goto label;
return;
}
}