You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ha...@apache.org on 2002/03/27 22:51:57 UTC

cvs commit: jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl AbstractConnectionPinger.java DefaultConnectionPinger.java PerpetualConnectionPinger.java

hammant     02/03/27 13:51:57

  Modified:    altrmi/src/java/org/apache/commons/altrmi/client/impl
                        DefaultConnectionPinger.java
                        PerpetualConnectionPinger.java
  Added:       altrmi/src/java/org/apache/commons/altrmi/client/impl
                        AbstractConnectionPinger.java
  Log:
  refactoring of pingers
  
  Revision  Changes    Path
  1.5       +4 -82     jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/DefaultConnectionPinger.java
  
  Index: DefaultConnectionPinger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/DefaultConnectionPinger.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultConnectionPinger.java	27 Mar 2002 20:58:24 -0000	1.4
  +++ DefaultConnectionPinger.java	27 Mar 2002 21:51:57 -0000	1.5
  @@ -22,96 +22,18 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version * $Revision: 1.4 $
  + * @version * $Revision: 1.5 $
    */
  -public class DefaultConnectionPinger implements AltrmiConnectionPinger, Runnable {
  +public class DefaultConnectionPinger extends AbstractConnectionPinger {
   
  -    private AltrmiClientInvocationHandler mAltrmiInvocationHandler;
  -    private boolean mContinue = true;
  -    private Thread mThread;
  -    private int mPingInterval;
  -    private int mGiveupInterval;
  -
  -    /**
  -     * Constructor DefaultConnectionPinger
  -     *
  -     *
  -     * @param pingIntervalSeconds
  -     * @param giveupIntervalSeconds
  -     *
  -     */
       public DefaultConnectionPinger(int pingIntervalSeconds, int giveupIntervalSeconds) {
  -        mPingInterval = pingIntervalSeconds * 1000;
  -        mGiveupInterval = giveupIntervalSeconds * 1000;
  +        super(pingIntervalSeconds, giveupIntervalSeconds);
       }
   
  -    /**
  -     * Constructor DefaultConnectionPinger
  -     *
  -     *
  -     */
       public DefaultConnectionPinger() {
  -        mPingInterval = 10 * 1000;       // ten seconds
  -        mGiveupInterval = 100 * 1000;    // one hundred seconds.
  -    }
  -
  -    /**
  -     * Method setAltrmiInvocationHandler
  -     *
  -     *
  -     *
  -     */
  -    public void setAltrmiInvocationHandler(
  -            AltrmiClientInvocationHandler altrmiInvocationHandler) {
  -        mAltrmiInvocationHandler = altrmiInvocationHandler;
  -    }
  -
  -    /**
  -     * Method start
  -     *
  -     *
  -     */
  -    public void start() {
  -
  -        mThread = new Thread(this);
  -
  -        mThread.start();
  -    }
  -
  -    /**
  -     * Method stop
  -     *
  -     *
  -     */
  -    public void stop() {
  -
  -        mContinue = false;
  -    }
  -
  -    /**
  -     * Method run
  -     *
  -     *
  -     */
  -    public void run() {
  -
  -        try {
  -            while (mContinue) {
  -                Thread.sleep(mPingInterval);
  -                ping();
  -            }
  -        } catch (AltrmiConnectionClosedException cce) {
  -            System.out.println("Pinger Connection closed");
  -
  -            // no need to ping anymore.
  -        } catch (InterruptedException e) {
  -            System.out.println("Pinger Interrupted!");
  -
  -            // do nothing.
  -        }
       }
   
  -    private void ping() {
  +    protected void ping() {
           if (mAltrmiInvocationHandler.getLastRealRequest()
                   > (System.currentTimeMillis() - (mGiveupInterval))) {
               mAltrmiInvocationHandler.ping();
  
  
  
  1.2       +6 -40     jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/PerpetualConnectionPinger.java
  
  Index: PerpetualConnectionPinger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/PerpetualConnectionPinger.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PerpetualConnectionPinger.java	19 Jan 2002 15:06:58 -0000	1.1
  +++ PerpetualConnectionPinger.java	27 Mar 2002 21:51:57 -0000	1.2
  @@ -23,53 +23,19 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version * $Revision: 1.1 $
  + * @version * $Revision: 1.2 $
    */
  -public class PerpetualConnectionPinger implements AltrmiConnectionPinger, Runnable {
  +public class PerpetualConnectionPinger extends AbstractConnectionPinger {
   
  -    private AltrmiClientInvocationHandler mAltrmiInvocationHandler;
  -    private boolean mContinue = true;
  -    private Thread mThread;
  -
  -
  -    /**
  -     * Method setAltrmiInvocationHandler
  -     *
  -     *
  -     *
  -     */
  -    public void setAltrmiInvocationHandler(AltrmiClientInvocationHandler altrmiInvocationHandler) {
  -        mAltrmiInvocationHandler = altrmiInvocationHandler;
  +    public PerpetualConnectionPinger(int pingIntervalSeconds, int giveupIntervalSeconds) {
  +        super(pingIntervalSeconds, giveupIntervalSeconds);
       }
   
  -    /**
  -     * Method start
  -     *
  -     *
  -     */
  -    public void start() {
  -        mThread = new Thread(this);
  -        mThread.start();
  +    public PerpetualConnectionPinger() {
       }
   
  -    public void stop() {
  -        mContinue = false;
  +    protected void ping() {
  +        AltrmiReply ar = mAltrmiInvocationHandler.handleInvocation(new PingRequest());
       }
   
  -    /**
  -     * Method run
  -     *
  -     *
  -     */
  -    public void run() {
  -        try {
  -            while (mContinue) {
  -                Thread.sleep(10 * 1000);
  -                AltrmiReply ar = mAltrmiInvocationHandler.handleInvocation(new PingRequest());
  -            }
  -        } catch (InterruptedException e) {
  -
  -            // do nothing.
  -        }
  -    }
   }
  
  
  
  1.1                  jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/AbstractConnectionPinger.java
  
  Index: AbstractConnectionPinger.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.commons.altrmi.client.impl;
  
  
  
  import org.apache.commons.altrmi.client.AltrmiConnectionPinger;
  import org.apache.commons.altrmi.client.AltrmiClientInvocationHandler;
  import org.apache.commons.altrmi.common.AltrmiReply;
  import org.apache.commons.altrmi.common.PingRequest;
  import org.apache.commons.altrmi.common.AltrmiConnectionClosedException;
  
  
  /**
   * Interface DefaultConnectionPinger
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version * $Revision: 1.1 $
   */
  public abstract class AbstractConnectionPinger implements AltrmiConnectionPinger, Runnable {
  
      protected AltrmiClientInvocationHandler mAltrmiInvocationHandler;
      protected boolean mContinue = true;
      protected Thread mThread;
      protected final int mPingInterval;
      protected final int mGiveupInterval;
  
      /**
       * Constructor DefaultConnectionPinger
       *
       *
       * @param pingIntervalSeconds
       * @param giveupIntervalSeconds
       *
       */
      public AbstractConnectionPinger(int pingIntervalSeconds, int giveupIntervalSeconds) {
          mPingInterval = pingIntervalSeconds * 1000;
          mGiveupInterval = giveupIntervalSeconds * 1000;
      }
  
      /**
       * Constructor DefaultConnectionPinger
       *
       *
       */
      public AbstractConnectionPinger() {
          mPingInterval = 10 * 1000;       // ten seconds
          mGiveupInterval = 100 * 1000;    // one hundred seconds.
      }
  
      /**
       * Method setAltrmiInvocationHandler
       *
       *
       *
       */
      public void setAltrmiInvocationHandler(
              AltrmiClientInvocationHandler altrmiInvocationHandler) {
          mAltrmiInvocationHandler = altrmiInvocationHandler;
      }
  
      /**
       * Method start
       *
       *
       */
      public void start() {
  
          mThread = new Thread(this);
  
          mThread.start();
      }
  
      /**
       * Method stop
       *
       *
       */
      public void stop() {
  
          mContinue = false;
      }
  
      /**
       * Method run
       *
       *
       */
      public void run() {
  
          try {
              while (mContinue) {
                  Thread.sleep(mPingInterval);
                  ping();
              }
          } catch (AltrmiConnectionClosedException cce) {
              System.out.println("Pinger Connection closed");
  
              // no need to ping anymore.
          } catch (InterruptedException e) {
              System.out.println("Pinger Interrupted!");
  
              // do nothing.
          }
      }
  
      protected abstract void ping();
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>