public class io.smallrye.mutiny.operators.multi.replay.ReplayOperator extends io.smallrye.mutiny.operators.AbstractMulti
{
private final io.smallrye.mutiny.Multi upstream;
private final io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList replayList;
private final java.util.concurrent.atomic.AtomicBoolean upstreamSubscriptionRequested;
private volatile java.util.concurrent.Flow$Subscription upstreamSubscription;
private final java.util.concurrent.CopyOnWriteArrayList subscriptions;
public void <init>(io.smallrye.mutiny.Multi, long)
{
io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList v;
io.smallrye.mutiny.operators.multi.replay.ReplayOperator v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
io.smallrye.mutiny.Multi v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: io.smallrye.mutiny.operators.multi.replay.ReplayOperator;
v := @parameter: io.smallrye.mutiny.Multi;
v := @parameter: long;
specialinvoke v.<io.smallrye.mutiny.operators.AbstractMulti: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.atomic.AtomicBoolean upstreamSubscriptionRequested> = v;
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.Flow$Subscription upstreamSubscription> = null;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.CopyOnWriteArrayList subscriptions> = v;
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: io.smallrye.mutiny.Multi upstream> = v;
v = new io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList;
specialinvoke v.<io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList: void <init>(long)>(v);
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList replayList> = v;
return;
}
public void <init>(io.smallrye.mutiny.Multi, long, java.lang.Iterable)
{
io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList v;
io.smallrye.mutiny.operators.multi.replay.ReplayOperator v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
io.smallrye.mutiny.Multi v;
java.lang.Iterable v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: io.smallrye.mutiny.operators.multi.replay.ReplayOperator;
v := @parameter: io.smallrye.mutiny.Multi;
v := @parameter: long;
v := @parameter: java.lang.Iterable;
specialinvoke v.<io.smallrye.mutiny.operators.AbstractMulti: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.atomic.AtomicBoolean upstreamSubscriptionRequested> = v;
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.Flow$Subscription upstreamSubscription> = null;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.CopyOnWriteArrayList subscriptions> = v;
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: io.smallrye.mutiny.Multi upstream> = v;
v = new io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList;
specialinvoke v.<io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList: void <init>(long,java.lang.Iterable)>(v, v);
v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: io.smallrye.mutiny.operators.multi.replay.AppendOnlyReplayList replayList> = v;
return;
}
public void subscribe(io.smallrye.mutiny.subscription.MultiSubscriber)
{
java.util.concurrent.atomic.AtomicBoolean v;
io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber v;
io.smallrye.mutiny.Multi v;
io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription v;
io.smallrye.mutiny.operators.multi.replay.ReplayOperator v;
io.smallrye.mutiny.subscription.MultiSubscriber v;
boolean v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: io.smallrye.mutiny.operators.multi.replay.ReplayOperator;
v := @parameter: io.smallrye.mutiny.subscription.MultiSubscriber;
v = v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.atomic.AtomicBoolean upstreamSubscriptionRequested>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: io.smallrye.mutiny.Multi upstream>;
v = new io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber;
specialinvoke v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator$UpstreamSubscriber: void <init>(io.smallrye.mutiny.operators.multi.replay.ReplayOperator,io.smallrye.mutiny.subscription.MultiSubscriber)>(v, v);
interfaceinvoke v.<io.smallrye.mutiny.Multi: void subscribe(java.util.concurrent.Flow$Subscriber)>(v);
label:
v = new io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription;
specialinvoke v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator$ReplaySubscription: void <init>(io.smallrye.mutiny.operators.multi.replay.ReplayOperator,io.smallrye.mutiny.subscription.MultiSubscriber)>(v, v);
interfaceinvoke v.<io.smallrye.mutiny.subscription.MultiSubscriber: void onSubscribe(java.util.concurrent.Flow$Subscription)>(v);
v = v.<io.smallrye.mutiny.operators.multi.replay.ReplayOperator: java.util.concurrent.CopyOnWriteArrayList subscriptions>;
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: boolean add(java.lang.Object)>(v);
return;
}
}