public class io.smallrye.mutiny.helpers.MultiEmitterProcessor extends java.lang.Object implements java.util.concurrent.Flow$Processor, io.smallrye.mutiny.subscription.MultiEmitter
{
private final io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor;
private final java.util.concurrent.atomic.AtomicReference onTermination;
private final java.util.concurrent.atomic.AtomicBoolean terminated;
private final java.util.concurrent.atomic.AtomicLong requested;
private void <init>()
{
java.util.concurrent.atomic.AtomicLong v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.concurrent.atomic.AtomicReference v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicReference onTermination> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicBoolean terminated> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicLong requested> = v;
v = staticinvoke <io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor create()>();
v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor> = v;
return;
}
public static io.smallrye.mutiny.helpers.MultiEmitterProcessor create()
{
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v = new io.smallrye.mutiny.helpers.MultiEmitterProcessor;
specialinvoke v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: void <init>()>();
return v;
}
public io.smallrye.mutiny.subscription.MultiEmitter emit(java.lang.Object)
{
java.lang.Object v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.lang.Object;
virtualinvoke v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: void onNext(java.lang.Object)>(v);
return v;
}
public void fail(java.lang.Throwable)
{
java.lang.Throwable v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.lang.Throwable;
virtualinvoke v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: void onError(java.lang.Throwable)>(v);
return;
}
public void complete()
{
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
virtualinvoke v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: void onComplete()>();
return;
}
public io.smallrye.mutiny.subscription.MultiEmitter onTermination(java.lang.Runnable)
{
java.lang.Runnable v;
java.util.concurrent.atomic.AtomicReference v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.lang.Runnable;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicReference onTermination>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return v;
}
public boolean isCancelled()
{
java.util.concurrent.atomic.AtomicBoolean v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
boolean v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicBoolean terminated>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public long requested()
{
java.util.concurrent.atomic.AtomicLong v;
long v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicLong requested>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
public void subscribe(java.util.concurrent.Flow$Subscriber)
{
java.util.concurrent.Flow$Subscriber v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor$1 v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.util.concurrent.Flow$Subscriber;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor>;
v = new io.smallrye.mutiny.helpers.MultiEmitterProcessor$1;
specialinvoke v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor$1: void <init>(io.smallrye.mutiny.helpers.MultiEmitterProcessor,java.util.concurrent.Flow$Subscriber)>(v, v);
virtualinvoke v.<io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: void subscribe(java.util.concurrent.Flow$Subscriber)>(v);
return;
}
private void fireTermination()
{
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
boolean v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicBoolean terminated>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicReference onTermination>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(null);
if v == null goto label;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
return;
}
public void onSubscribe(java.util.concurrent.Flow$Subscription)
{
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
java.util.concurrent.Flow$Subscription v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.util.concurrent.Flow$Subscription;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor>;
virtualinvoke v.<io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: void onSubscribe(java.util.concurrent.Flow$Subscription)>(v);
return;
}
public void onNext(java.lang.Object)
{
java.util.concurrent.atomic.AtomicLong v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
java.lang.Object v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.lang.Object;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: java.util.concurrent.atomic.AtomicLong requested>;
staticinvoke <io.smallrye.mutiny.helpers.Subscriptions: long subtract(java.util.concurrent.atomic.AtomicLong,long)>(v, 1L);
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor>;
virtualinvoke v.<io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: void onNext(java.lang.Object)>(v);
return;
}
public void onError(java.lang.Throwable)
{
java.lang.Throwable v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v := @parameter: java.lang.Throwable;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor>;
virtualinvoke v.<io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: void onError(java.lang.Throwable)>(v);
return;
}
public void onComplete()
{
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
io.smallrye.mutiny.operators.multi.processors.UnicastProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = v.<io.smallrye.mutiny.helpers.MultiEmitterProcessor: io.smallrye.mutiny.operators.multi.processors.UnicastProcessor processor>;
virtualinvoke v.<io.smallrye.mutiny.operators.multi.processors.UnicastProcessor: void onComplete()>();
return;
}
public io.smallrye.mutiny.Multi toMulti()
{
io.smallrye.mutiny.groups.MultiCreate v;
io.smallrye.mutiny.Multi v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = staticinvoke <io.smallrye.mutiny.Multi: io.smallrye.mutiny.groups.MultiCreate createFrom()>();
v = virtualinvoke v.<io.smallrye.mutiny.groups.MultiCreate: io.smallrye.mutiny.Multi publisher(java.util.concurrent.Flow$Publisher)>(v);
return v;
}
public io.smallrye.mutiny.Context context()
{
java.lang.UnsupportedOperationException v;
io.smallrye.mutiny.helpers.MultiEmitterProcessor v;
v := @this: io.smallrye.mutiny.helpers.MultiEmitterProcessor;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("This class is used in tests");
throw v;
}
}