Index: BaseConnectionHandler.java
===================================================================
RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/BaseConnectionHandler.java,v
retrieving revision 1.12
diff -u -r1.12 BaseConnectionHandler.java
--- BaseConnectionHandler.java	2 Oct 2002 06:12:01 -0000	1.12
+++ BaseConnectionHandler.java	13 Oct 2002 17:54:20 -0000
@@ -12,7 +12,7 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
+import org.apache.avalon.cornerstone.services.scheduler.TimeScheduler;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 
@@ -23,7 +23,9 @@
  *
  * @author Harmeet Bedi <harmeet@kodemuse.com>
  */
-public class BaseConnectionHandler extends AbstractLogEnabled implements Configurable {
+public class BaseConnectionHandler extends AbstractLogEnabled implements 
+    Configurable
+{
 
     /**
      * The default timeout for the connection
@@ -40,6 +42,17 @@
      */
     protected String helloName;
 
+    /** handler unique identifier */
+    private String id;
+
+    /** 
+     * The scheduler used to handle timeouts for the
+     * POP3 interaction
+     * there is a single scheduler for all pop3 handlers.
+     * this provides a very lightweight mechanism
+     */
+    protected TimeScheduler scheduler; 
+    
     /**
      * Get the hello name for this server
      *
@@ -63,7 +76,6 @@
         return autodetect ? hostName : helloConf.getValue("localhost");
     }
 
-
     /**
      * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
      */
@@ -83,5 +95,21 @@
      * @param connectionHandler the ConnectionHandler to be released
      */
     public void releaseConnectionHandler(ConnectionHandler connectionHandler) {
+    }
+
+    /** make a scheduler available to handlers. Scheduler help manage
+     * connection timeout */
+    public void setScheduler(TimeScheduler scheduler) {
+        this.scheduler = scheduler;
+    }
+
+    /** @param id: handler unique identifier. */
+    public void setID(String id) {
+        this.id = id;
+    }
+
+    /** @return unique handler identifier. */
+    public String getID() {
+        return id;
     }
 }

