public class org.apache.activemq.broker.region.QueueSubscription extends org.apache.activemq.broker.region.PrefetchSubscription implements org.apache.activemq.broker.region.LockOwner
{
private static final org.slf4j.Logger LOG;
public void <init>(org.apache.activemq.broker.Broker, org.apache.activemq.usage.SystemUsage, org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo) throws javax.jms.JMSException
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.QueueSubscription v;
org.apache.activemq.command.ConsumerInfo v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v := @parameter: org.apache.activemq.broker.Broker;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
specialinvoke v.<org.apache.activemq.broker.region.PrefetchSubscription: void <init>(org.apache.activemq.broker.Broker,org.apache.activemq.usage.SystemUsage,org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v, v, v);
return;
}
protected void acknowledge(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.MessageAck, org.apache.activemq.broker.region.MessageReference) throws java.io.IOException
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageAck v;
long v;
org.apache.activemq.broker.region.QueueSubscription v;
org.apache.activemq.broker.region.Destination v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.MessageAck;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<org.apache.activemq.broker.region.QueueSubscription: void setTimeOfLastMessageAck(long)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
virtualinvoke v.<org.apache.activemq.broker.region.Queue: void removeMessage(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Subscription,org.apache.activemq.broker.region.QueueMessageReference,org.apache.activemq.command.MessageAck)>(v, v, v, v);
return;
}
protected boolean canDispatch(org.apache.activemq.broker.region.MessageReference) throws java.io.IOException
{
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.QueueSubscription v;
boolean v, v, v, v, v, v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = 1;
v = interfaceinvoke v.<org.apache.activemq.broker.region.QueueMessageReference: boolean isAcked()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.QueueMessageReference: boolean isDropped()>();
if v == 0 goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.QueueSubscription: boolean isBrowser()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.QueueMessageReference: boolean lock(org.apache.activemq.broker.region.LockOwner)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public synchronized java.lang.String toString()
{
org.apache.activemq.broker.region.QueueSubscription v;
org.apache.activemq.command.ConsumerId v;
java.util.List v;
java.util.concurrent.atomic.AtomicInteger v, v;
int v, v, v, v, v;
java.lang.String v;
org.apache.activemq.command.ConsumerInfo v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v = v.<org.apache.activemq.broker.region.QueueSubscription: org.apache.activemq.command.ConsumerInfo info>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = v.<org.apache.activemq.broker.region.QueueSubscription: java.util.concurrent.CopyOnWriteArrayList destinations>;
v = virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: int size()>();
v = v.<org.apache.activemq.broker.region.QueueSubscription: java.util.List dispatched>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<org.apache.activemq.broker.region.QueueSubscription: java.util.concurrent.atomic.AtomicInteger prefetchExtension>;
v = virtualinvoke v.<org.apache.activemq.broker.region.QueueSubscription: int getPendingQueueSize()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.QueueSubscription: int getPrefetchSize()>();
v = v.<org.apache.activemq.broker.region.QueueSubscription: java.util.concurrent.atomic.AtomicInteger prefetchExtension>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ConsumerId,int,int,java.util.concurrent.atomic.AtomicInteger,int,int,int)>(v, v, v, v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("QueueSubscription: consumer=\u, destinations=\u, dispatched=\u, delivered=\u, pending=\u, prefetch=\u, prefetchExtension=\u0001");
return v;
}
public int getLockPriority()
{
org.apache.activemq.broker.region.QueueSubscription v;
byte v;
org.apache.activemq.command.ConsumerInfo v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v = v.<org.apache.activemq.broker.region.QueueSubscription: org.apache.activemq.command.ConsumerInfo info>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: byte getPriority()>();
return v;
}
public boolean isLockExclusive()
{
org.apache.activemq.broker.region.QueueSubscription v;
org.apache.activemq.command.ConsumerInfo v;
boolean v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v = v.<org.apache.activemq.broker.region.QueueSubscription: org.apache.activemq.command.ConsumerInfo info>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: boolean isExclusive()>();
return v;
}
public void destroy()
{
org.apache.activemq.broker.region.QueueSubscription v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
virtualinvoke v.<org.apache.activemq.broker.region.QueueSubscription: void setSlowConsumer(boolean)>(0);
return;
}
protected boolean isDropped(org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.QueueSubscription v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.QueueSubscription;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = 0;
v = v instanceof org.apache.activemq.broker.region.IndirectMessageReference;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.QueueMessageReference: boolean isDropped()>();
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/broker/region/QueueSubscription;");
<org.apache.activemq.broker.region.QueueSubscription: org.slf4j.Logger LOG> = v;
return;
}
}