Package org.zeromq

Class ZActor.Duo

  • All Implemented Interfaces:
    ZActor.Actor
    Enclosing class:
    ZActor

    public static class ZActor.Duo
    extends java.lang.Object
    implements ZActor.Actor
    Another actor will be called just before the main one, without participating to the decisions. This is interesting as a shadowed observer of the actor's behavior.
    • Method Detail

      • premiere

        public java.lang.String premiere​(ZMQ.Socket pipe)
        Description copied from interface: ZActor.Actor
        This is the grand premiere! Called before the creation of the first double and the sockets 2nd in the order call of the global acting. It return the name that will be used for the thread. If it's null, a default one will be picked by ZActor.
        Specified by:
        premiere in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe
        Returns:
        the name of the upcoming performance.
      • createSockets

        public java.util.List<ZMQ.Socket> createSockets​(ZContext ctx,
                                                        java.lang.Object... args)
        Description copied from interface: ZActor.Actor
        Creates and initializes sockets for the double. This is done at each creation of a new double. 3rd in the order call of the global acting. 1st in the order call of the new double.
        Specified by:
        createSockets in interface ZActor.Actor
        Parameters:
        ctx - the context used to create sockets
        args - the arguments passed as parameters of the ZActor
        Returns:
        a list of created sockets that will be managed by the double. Not null.
      • start

        public void start​(ZMQ.Socket pipe,
                          java.util.List<ZMQ.Socket> sockets,
                          ZPoller poller)
        Description copied from interface: ZActor.Actor
        Called when the double is started, before the first loop. 4th in the order call of the global acting. 2nd in the order call of the new double.
        Specified by:
        start in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe
        sockets - the managed sockets that were created in the previous step
        poller - the poller where to eventually register the sockets for events
      • looping

        public long looping​(ZMQ.Socket pipe,
                            ZPoller poller)
        Description copied from interface: ZActor.Actor
        Called every time just before a loop starts. 5th in the order call of the global acting. 3nd in the order call of the new double. 1st in the order call of the new loop.
        Specified by:
        looping in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe
        poller - the poller of the double
        Returns:
        the timeout of the coming loop. -1 to block, 0 to not wait, > 0 to wait till max the returned duration in milliseconds
      • backstage

        public boolean backstage​(ZMQ.Socket pipe,
                                 ZPoller poller,
                                 int events)
        Description copied from interface: ZActor.Actor
        Called when the actor received a control message from its pipe during a loop. 2nd in the order call of the new loop.
        Specified by:
        backstage in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe receiving the message
        poller - the poller of the double.
        events - the events source of the call
        Returns:
        true in case of success, false to stop the actor.
      • stage

        public boolean stage​(ZMQ.Socket socket,
                             ZMQ.Socket pipe,
                             ZPoller poller,
                             int events)
        Description copied from interface: ZActor.Actor
        The actor received a message from the created sockets during a loop. 2nd ex-aequo in the order call of the new loop.
        Specified by:
        stage in interface ZActor.Actor
        Parameters:
        socket - the socket receiving the message
        pipe - the backstage control pipe
        poller - the poller of the double.
        events - the events source of the call
        Returns:
        true in case of success, false to stop the actor.
      • looped

        public boolean looped​(ZMQ.Socket pipe,
                              ZPoller poller)
        Description copied from interface: ZActor.Actor
        Called at the end of each loop. 3rd in the order call of the new loop.
        Specified by:
        looped in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe
        poller - the poller of the double.
        Returns:
        true to continue with the current doppelganger, false to stop it.
      • closed

        public void closed​(ZMQ.Socket socket)
        Description copied from interface: ZActor.Actor
        Called when a created socket has been closed. The process of destroying the double has already started.
        Specified by:
        closed in interface ZActor.Actor
        Parameters:
        socket - the closed socked.
      • destroyed

        public boolean destroyed​(ZContext ctx,
                                 ZMQ.Socket pipe,
                                 ZPoller poller)
        Description copied from interface: ZActor.Actor
        Called when the current double has been destroyed. Last in the order call of the double.
        Specified by:
        destroyed in interface ZActor.Actor
        Parameters:
        ctx - the context.
        pipe - the backstage control pipe.
        poller - the poller of the double.
        Returns:
        true to restart a new double, false to stop the acting process
      • finished

        public boolean finished​(ZMQ.Socket pipe)
        Description copied from interface: ZActor.Actor
        Called when the stage is finished. This is the last call to the actor. Last in the order call of the global acting.
        Specified by:
        finished in interface ZActor.Actor
        Parameters:
        pipe - the backstage control pipe
        Returns:
        true to spread the word of the actor's leaving