You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by se...@apache.org on 2001/11/26 04:27:55 UTC

cvs commit: jakarta-james/src/java/org/apache/james/smtpserver SMTPHandler.java

serge       01/11/25 19:27:55

  Modified:    src/java/org/apache/james/smtpserver SMTPHandler.java
  Log:
  Every 20k (configurable) received during a DATA will notify the scheduler that something is happening.
  
  Revision  Changes    Path
  1.9       +16 -11    jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java
  
  Index: SMTPHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/smtpserver/SMTPHandler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SMTPHandler.java	2001/08/11 21:25:15	1.8
  +++ SMTPHandler.java	2001/11/26 03:27:55	1.9
  @@ -43,8 +43,8 @@
    * @author Jason Borden <jb...@javasense.com>
    * @author Matthew Pangaro <ma...@lokitech.com>
    *
  - * This is $Revision: 1.8 $
  - * Committed on $Date: 2001/08/11 21:25:15 $ by: $Author: serge $
  + * This is $Revision: 1.9 $
  + * Committed on $Date: 2001/11/26 03:27:55 $ by: $Author: serge $
    */
   public class SMTPHandler
       extends BaseConnectionHandler
  @@ -83,10 +83,12 @@
   
       private String softwaretype = "JAMES SMTP Server "
                                      + Constants.SOFTWARE_VERSION;
  -    private static long count;
  +    private static long count = 0;
  +    private long connNumber = count++;
       private HashMap state       = new HashMap();
       private Random random       = new Random();
       private long maxmessagesize = 0;
  +    private int lengthReset = 20000;
   
       public void configure ( Configuration configuration )
              throws ConfigurationException {
  @@ -102,6 +104,8 @@
           if (DEEP_DEBUG) {
               getLogger().debug("Max message size is: " + maxmessagesize);
           }
  +        //how many bytes to read before updating the timer that data is being transfered
  +        lengthReset = configuration.getChild("lengthReset").getValueAsInteger(20000);
       }
   
       public void compose( final ComponentManager componentManager )
  @@ -271,11 +275,11 @@
           } else {
               state.put(CURRENT_HELO_MODE, command);
               state.put(NAME_GIVEN, argument);
  -	    if (authRequired) {
  -	        out.println("250-AUTH LOGIN PLAIN");
  +        if (authRequired) {
  +            out.println("250-AUTH LOGIN PLAIN");
               }
  -	    if (maxmessagesize > 0) {
  -	        out.println("250-SIZE " + maxmessagesize);
  +        if (maxmessagesize > 0) {
  +            out.println("250-SIZE " + maxmessagesize);
               }
               out.println( "250 " + state.get(SERVER_NAME) + " Hello "
                           + argument + " (" + state.get(REMOTE_NAME)
  @@ -474,9 +478,10 @@
           } else {
               out.println("354 Ok Send data ending with <CRLF>.<CRLF>");
               try {
  +                //Setup the input stream to notify the scheduler periodically
  +                InputStream msgIn = new SchedulerNotifyInputStream(in, scheduler, this.toString(), 20000);
                   // parse headers
  -                InputStream msgIn
  -                    = new CharTerminatedInputStream(in, SMTPTerminator);
  +                msgIn = new CharTerminatedInputStream(msgIn, SMTPTerminator);
                   // if the message size limit has been set, we'll
                   // wrap msgIn with a SizeLimitedInputStream
                   if (maxmessagesize > 0) {
  @@ -494,7 +499,7 @@
                   MailHeaders headers = new MailHeaders(msgIn);
   
                   // if headers do not contains minimum REQUIRED headers fields,
  -		        // add them
  +                // add them
                   if (!headers.isSet("Date")) {
                       headers.setHeader("Date",
                               RFC822DateFormat.toString(new Date()));
  @@ -586,7 +591,7 @@
                                   + me.getMessage());
                       getLogger().error("Error processing message: "
                                   + me.getMessage());
  -		            me.printStackTrace();
  +                    me.printStackTrace();
                   }
                   return;
               }
  
  
  

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