Class ConnectionFlowStep

    • Constructor Detail

      • ConnectionFlowStep

        ConnectionFlowStep​(ProxyConnection connection,
                           ConnectionState state)
        Construct a new step in a connection flow.
        Parameters:
        connection - the connection that we're working on
        state - the state that the connection will show while we're processing this step
    • Method Detail

      • shouldSuppressInitialRequest

        boolean shouldSuppressInitialRequest()
        Indicates whether or not to suppress the initial request. Defaults to false, can be overridden.
      • shouldExecuteOnEventLoop

        boolean shouldExecuteOnEventLoop()

        Indicates whether or not this step should be executed on the channel's event loop. Defaults to true, can be overridden.

        If this step modifies the pipeline, for example by adding/removing handlers, it's best to make it execute on the event loop.

      • execute

        protected abstract Future execute()
        Implement this method to actually do the work involved in this step of the flow.
      • onSuccess

        void onSuccess​(ConnectionFlow flow)
        When the flow determines that this step was successful, it calls into this method. The default implementation simply continues with the flow. Other implementations may choose to not continue and instead wait for a message or something like that.
      • read

        void read​(ConnectionFlow flow,
                  Object msg)

        Any messages that are read from the underlying connection while we're at this step of the connection flow are passed to this method.

        The default implementation ignores the message and logs this, since we weren't really expecting a message here.

        Some ConnectionFlowSteps do need to read the messages, so they override this method as appropriate.

        Parameters:
        flow - our ConnectionFlow
        msg - the message read from the underlying connection