Class HeartBeatProtocol

  • All Implemented Interfaces:
    IBufferHandler, ILocationAware, IProtocol<java.lang.Object>, IProtocol2<java.lang.Object>, ISignalProtocol<java.lang.Object>, org.eclipse.net4j.util.concurrent.IExecutorServiceProvider, org.eclipse.net4j.util.event.INotifier, org.eclipse.net4j.util.event.INotifier.INotifier2, org.eclipse.net4j.util.lifecycle.IDeactivateable, org.eclipse.net4j.util.lifecycle.ILifecycle, org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation, org.eclipse.net4j.util.security.IUserAware

    public class HeartBeatProtocol
    extends SignalProtocol<java.lang.Object>
    A signal protocol that keeps the connector of its channel open or provides early deactivation feedback by exchanging periodic heart beats.
    Since:
    2.0
    Author:
    Eike Stepper
    • Constructor Detail

      • HeartBeatProtocol

        protected HeartBeatProtocol​(java.lang.String type,
                                    IConnector connector,
                                    java.util.Timer timer)
        Since:
        4.0
      • HeartBeatProtocol

        public HeartBeatProtocol​(IConnector connector,
                                 java.util.Timer timer)
      • HeartBeatProtocol

        public HeartBeatProtocol​(IConnector connector,
                                 org.eclipse.net4j.util.container.IManagedContainer container)
        Since:
        4.0
      • HeartBeatProtocol

        public HeartBeatProtocol​(IConnector connector)
    • Method Detail

      • getTimer

        public java.util.Timer getTimer()
      • start

        public void start​(long rate)
        Same as start(rate, 2 * rate).
        See Also:
        start(long, long)
      • start

        public void start​(long rate,
                          long timeout)
      • createSignalReactor

        protected SignalReactor createSignalReactor​(short signalID)
        Description copied from class: SignalProtocol
        Returns a new signal instance to serve the given signal ID or null if the signal ID is invalid/unknown for this protocol.
        Overrides:
        createSignalReactor in class SignalProtocol<java.lang.Object>
      • handleTimeout

        protected void handleTimeout​(long untouched)
      • doDeactivate

        protected void doDeactivate()
                             throws java.lang.Exception
        Overrides:
        doDeactivate in class SignalProtocol<java.lang.Object>
        Throws:
        java.lang.Exception
      • requestingStart

        protected void requestingStart​(org.eclipse.net4j.util.io.ExtendedDataOutputStream out,
                                       long rate)
                                throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        4.0
      • getDefaultTimer

        public static java.util.Timer getDefaultTimer​(org.eclipse.net4j.util.container.IManagedContainer container)