Package: gngs

[Groovy] Class RegulatingActor<T>

      • Inherited fields 
        Fields inherited from class Fields
        class groovyx.gpars.actor.DefaultActor CANNOT_SEND_REPLIES_NO_SENDER_HAS_BEEN_REGISTERED, TIMEOUT, serialHandle
    • Methods Summary

    • Inherited Methods Summary

        Inherited Methods 
        Methods inherited from class Name
        class groovyx.gpars.actor.DefaultActor groovyx.gpars.actor.DefaultActor#start(), groovyx.gpars.actor.DefaultActor#loop(java.lang.Runnable), groovyx.gpars.actor.DefaultActor#react(groovy.lang.Closure), groovyx.gpars.actor.DefaultActor#silentStart(), groovyx.gpars.actor.DefaultActor#stop(), groovyx.gpars.actor.DefaultActor#isActive(), groovyx.gpars.actor.DefaultActor#isFair(), groovyx.gpars.actor.DefaultActor#reply(java.lang.Object), groovyx.gpars.actor.DefaultActor#send(java.lang.Object), groovyx.gpars.actor.DefaultActor#terminate(), groovyx.gpars.actor.DefaultActor#makeFair(), groovyx.gpars.actor.DefaultActor#getSender(), groovyx.gpars.actor.DefaultActor#setParallelGroup(groovyx.gpars.group.PGroup), groovyx.gpars.actor.DefaultActor#replyIfExists(java.lang.Object), groovyx.gpars.actor.DefaultActor#join(), groovyx.gpars.actor.DefaultActor#join(long, java.util.concurrent.TimeUnit), groovyx.gpars.actor.DefaultActor#join(groovy.time.BaseDuration), groovyx.gpars.actor.DefaultActor#join(groovyx.gpars.actor.impl.MessageStream), groovyx.gpars.actor.DefaultActor#onStop(groovy.lang.Closure), groovyx.gpars.actor.DefaultActor#isActorThread(), groovyx.gpars.actor.DefaultActor#getJoinLatch(), groovyx.gpars.actor.DefaultActor#getParallelGroup(), groovyx.gpars.actor.DefaultActor#sendAndContinue(java.lang.Object, groovy.lang.Closure), groovyx.gpars.actor.DefaultActor#sendAndPromise(java.lang.Object), groovyx.gpars.actor.DefaultActor#threadBoundActor(), groovyx.gpars.actor.DefaultActor#leftShift(java.lang.Object), groovyx.gpars.actor.DefaultActor#call(java.lang.Object), groovyx.gpars.actor.DefaultActor#send(), groovyx.gpars.actor.DefaultActor#send(java.lang.Object, groovyx.gpars.actor.impl.MessageStream), groovyx.gpars.actor.DefaultActor#sendAndWait(java.lang.Object, groovy.time.Duration), groovyx.gpars.actor.DefaultActor#sendAndWait(java.lang.Object, long, java.util.concurrent.TimeUnit), groovyx.gpars.actor.DefaultActor#sendAndWait(java.lang.Object), groovyx.gpars.actor.DefaultActor#getRemoteClass(), groovyx.gpars.actor.DefaultActor#getOrCreateSerialHandle(), groovyx.gpars.actor.DefaultActor#wait(long), groovyx.gpars.actor.DefaultActor#wait(long, int), groovyx.gpars.actor.DefaultActor#wait(), groovyx.gpars.actor.DefaultActor#equals(java.lang.Object), groovyx.gpars.actor.DefaultActor#toString(), groovyx.gpars.actor.DefaultActor#hashCode(), groovyx.gpars.actor.DefaultActor#getClass(), groovyx.gpars.actor.DefaultActor#notify(), groovyx.gpars.actor.DefaultActor#notifyAll()
    • Property Detail

      • static final java.lang.Object STOP

      • final java.util.concurrent.atomic.AtomicInteger downstreamCounter

        Count of messages pending in downstream due to this actor

      • final java.util.concurrent.atomic.AtomicInteger pendingMessageCount

        Count of messages that have been sent to this actor but not processed

      • boolean stopped

      • long throttleWarningMs

      • boolean throttled

      • boolean verbose

    • Constructor Detail

      • RegulatingActor(RegulatingActor downstream, int softLimit, int hardLimit)

      • RegulatingActor(int softLimit, int hardLimit)

      • RegulatingActor()

        Create a RegulatingActor with basic defaults for the queue sizes that suit many tasks

    • Method Detail

      • @java.lang.Override @groovy.transform.CompileStatic void act()

      • <T> @groovy.transform.CompileStatic static RegulatingActor<T> actor(groovy.lang.Closure c)

      • @groovy.transform.CompileStatic void doTerminate()

      • void onEnd()

      • abstract void process(T message)

      • @groovy.transform.CompileStatic @java.lang.Override void run()

      • @groovy.transform.CompileStatic void sendDownstream(java.lang.Object message)

      • @groovy.transform.CompileStatic groovyx.gpars.actor.impl.MessageStream sendLimited(AcknowledgeableMessage message, boolean throttle)

      • @groovy.transform.CompileStatic void sendStop()

        Send a pre-determined STOP message to the actor, which when receieved, will cause it to call terminate().

        This method will return immediately. To wait for the stop to occur, call the join() method.

      • @groovy.transform.CompileStatic groovyx.gpars.actor.impl.MessageStream sendTo(T o)