public class org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 extends java.lang.Object implements org.apache.activemq.leveldb.LevelDBStore$TransactionAction
{
private long prev_position;
private final org.apache.activemq.leveldb.LevelDBStore$Transaction $outer;
private final org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore store$3;
private final org.apache.activemq.leveldb.DurableSubscription sub$1;
private final long position$1;
private final org.apache.activemq.command.MessageAck ack$3;
private long prev_position()
{
long v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long prev_position>;
return v;
}
private void prev_position_$eq(long)
{
long v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v := @parameter: long;
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long prev_position> = v;
return;
}
public void commit(org.apache.activemq.leveldb.DelayableUOW)
{
long v, v;
org.apache.activemq.leveldb.DelayableUOW v;
org.apache.activemq.leveldb.DurableSubscription v, v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v := @parameter: org.apache.activemq.leveldb.DelayableUOW;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore store$3>;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long position$1>;
virtualinvoke v.<org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore: scala.collection.mutable.ListBuffer doUpdateAckPosition(org.apache.activemq.leveldb.DelayableUOW,org.apache.activemq.leveldb.DurableSubscription,long)>(v, v, v);
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long position$1>;
virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: void gcPosition_$eq(long)>(v);
return;
}
public void prepare(org.apache.activemq.leveldb.DelayableUOW)
{
org.apache.activemq.leveldb.XaAckRecord v;
org.apache.activemq.command.MessageAck v;
long v, v, v, v, v;
org.apache.activemq.leveldb.DelayableUOW v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.activemq.leveldb.LevelDBStore$Transaction v, v;
org.apache.activemq.leveldb.DurableSubscription v, v, v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v := @parameter: org.apache.activemq.leveldb.DelayableUOW;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: long lastAckPosition()>();
specialinvoke v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: void prev_position_$eq(long)>(v);
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long position$1>;
virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: void lastAckPosition_$eq(long)>(v);
v = new org.apache.activemq.leveldb.XaAckRecord;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$Transaction $outer>;
v = virtualinvoke v.<org.apache.activemq.leveldb.LevelDBStore$Transaction: long xacontainer_id()>();
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$Transaction $outer>;
v = virtualinvoke v.<org.apache.activemq.leveldb.LevelDBStore$Transaction: java.util.concurrent.atomic.AtomicLong xaseqcounter()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long incrementAndGet()>();
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.command.MessageAck ack$3>;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: long subKey()>();
specialinvoke v.<org.apache.activemq.leveldb.XaAckRecord: void <init>(long,long,org.apache.activemq.command.MessageAck,long)>(v, v, v, v);
virtualinvoke v.<org.apache.activemq.leveldb.DelayableUOW: org.apache.activemq.leveldb.CountDownFuture xaAck(org.apache.activemq.leveldb.XaAckRecord)>(v);
return;
}
public void rollback(org.apache.activemq.leveldb.DelayableUOW)
{
org.apache.activemq.leveldb.LevelDBStore$Transaction v;
long v;
org.apache.activemq.leveldb.DelayableUOW v;
org.apache.activemq.leveldb.DurableSubscription v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
boolean v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v := @parameter: org.apache.activemq.leveldb.DelayableUOW;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$Transaction $outer>;
v = virtualinvoke v.<org.apache.activemq.leveldb.LevelDBStore$Transaction: boolean prepared()>();
if v == 0 goto label;
v = v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1>;
v = specialinvoke v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long prev_position()>();
virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: void lastAckPosition_$eq(long)>(v);
label:
return;
}
public void <init>(org.apache.activemq.leveldb.LevelDBStore$Transaction, org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore, org.apache.activemq.leveldb.DurableSubscription, long, org.apache.activemq.command.MessageAck)
{
org.apache.activemq.command.MessageAck v;
org.apache.activemq.leveldb.LevelDBStore$Transaction v;
long v, v;
org.apache.activemq.leveldb.DurableSubscription v;
org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5 v;
org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore v;
v := @this: org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5;
v := @parameter: org.apache.activemq.leveldb.LevelDBStore$Transaction;
v := @parameter: org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore;
v := @parameter: org.apache.activemq.leveldb.DurableSubscription;
v := @parameter: long;
v := @parameter: org.apache.activemq.command.MessageAck;
if v != null goto label;
throw null;
label:
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$Transaction $outer> = v;
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.LevelDBStore$LevelDBTopicMessageStore store$3> = v;
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.leveldb.DurableSubscription sub$1> = v;
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long position$1> = v;
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: org.apache.activemq.command.MessageAck ack$3> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.leveldb.DurableSubscription: long lastAckPosition()>();
v.<org.apache.activemq.leveldb.LevelDBStore$Transaction$$anon$5: long prev_position> = v;
return;
}
}