Author: remm Date: Mon Jun 25 17:57:54 2007 New Revision: 550649 URL: http://svn.apache.org/viewvc?view=rev&rev=550649 Log: - More javadocs cleanups.
Modified: tomcat/sandbox/comet/java/org/apache/comet/CometEvent.java Modified: tomcat/sandbox/comet/java/org/apache/comet/CometEvent.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/comet/java/org/apache/comet/CometEvent.java?view=diff&rev=550649&r1=550648&r2=550649 ============================================================================== --- tomcat/sandbox/comet/java/org/apache/comet/CometEvent.java (original) +++ tomcat/sandbox/comet/java/org/apache/comet/CometEvent.java Mon Jun 25 17:57:54 2007 @@ -40,21 +40,22 @@ * fields using the request and response objects. Between the end of the processing * of this event, and the beginning of the processing of the end or error events, * it is possible to use the response object to write data on the open connection. - * Note that the response object and depedent OutputStream and Writer are still - * not synchronized, so when they are accessed by multiple threads, - * synchronization is mandatory. After processing the initial event, the request + * Note that the response object and depedent OutputStream and Writer are + * not synchronized, so when they are accessed by multiple threads adequate + * synchronization is needed. After processing the initial event, the request * is considered to be committed.</li> - * <li>READ - This indicates that input data is available, and that one read can be made - * without blocking. The available and ready methods of the InputStream or + * <li>READ - This indicates that input data is available, and that at least one + * read can be made without blocking. The available and ready methods of the InputStream or * Reader may be used to determine if there is a risk of blocking: the servlet - * should read while data is reported available. When encountering a read error, + * must continue reading while data is reported available. When encountering a read error, * the servlet should report it by propagating the exception properly. Throwing * an exception will cause the error event to be invoked, and the connection * will be closed. * Alternately, it is also possible to catch any exception, perform clean up * on any data structure the servlet may be using, and using the close method * of the event. It is not allowed to attempt reading data from the request - * object outside of the execution of this method.</li> + * object outside of the processing of this event, unless the suspend() method + * has been used.</li> * <li>END - End may be called to end the processing of the request. Fields that have * been initialized in the begin method should be reset. After this event has * been processed, the request and response objects, as well as all their dependent @@ -64,26 +65,33 @@ * been initialized in the begin method should be reset. After this event has * been processed, the request and response objects, as well as all their dependent * objects will be recycled and used to process other requests.</li> - * <li>EVENT - Event will be called by the container after the resume() method is called. - * This allows you get an event instantly, and you can perform IO actions - * or close the Comet connection.</li> + * <li>EVENT - Event will be called by the container after the resume() method is called, + * during which any operations can be performed, including closing the Comet connection + * using the close() method.</li> * <li>WRITE - Write is sent if the servlet is using the ready method. This means that - * the connection is ready to receive data to be written out.</li> + * the connection is ready to receive data to be written out. This event will never + * be recieved if the Servlet is not using the ready() method, or if the ready() + * method always returns true.</li> * </ul> */ public enum EventType {BEGIN, READ, END, ERROR, WRITE, EVENT} /** - * Event details: + * Enumeration containing event sub categories. + * <br> + * END events sub types: * <ul> - * <li>TIMEOUT - the connection timed out (sub type of ERROR); note that this ERROR type is not fatal, and + * <li>WEBAPP_RELOAD - the webapplication is being reloaded</li> + * <li>SERVER_SHUTDOWN - the server is shutting down</li> + * <li>SESSION_END - the servlet ended the session</li> + * </ul> + * ERROR events sub types: + * <ul> + * <li>TIMEOUT - the connection timed out; note that this ERROR type is not fatal, and * the connection will not be closed unless the servlet uses the close method of the event</li> - * <li>CLIENT_DISCONNECT - the client connection was closed (sub type of ERROR)</li> - * <li>IOEXCEPTION - an IO exception occurred, such as invalid content, for example, an invalid chunk block (sub type of ERROR)</li> - * <li>WEBAPP_RELOAD - the webapplication is being reloaded (sub type of END)</li> - * <li>SERVER_SHUTDOWN - the server is shutting down (sub type of END)</li> - * <li>SESSION_END - the servlet ended the session (sub type of END)</li> + * <li>CLIENT_DISCONNECT - the client connection was closed</li> + * <li>IOEXCEPTION - an IO exception occurred, such as invalid content, for example, an invalid chunk block</li> * </ul> */ public enum EventSubType { TIMEOUT, CLIENT_DISCONNECT, IOEXCEPTION, WEBAPP_RELOAD, SERVER_SHUTDOWN, SESSION_END } @@ -120,11 +128,13 @@ public EventSubType getEventSubType(); /** - * Ends the Comet session. This signals to the container that - * the container wants to end the comet session. This will send back to the - * client a notice that the server has no more data to send as part of this - * request. The servlet should perform any needed cleanup as if it had recieved - * an END or ERROR event. + * Ends the request, which marks the end of the comet session. This will send + * back to the client a notice that the server has no more data to send + * as part of this request. If this method is called from a Tomcat provided thread + * (during the processing of an event), the container will not call an END event. + * If this method is called asynchronously, an END event will be sent to the + * servlet (note that this event will be sent whenever another event would have + * been sent, such as a READ or ERROR/TIMEOUT event). * * @throws IOException if an IO exception occurs */ @@ -148,28 +158,31 @@ * to the client and data still cannot be written immediately, an IOException will be * thrown. If calling this method returns false, it will also * request notification when the connection becomes available for writing again, and the - * servlet will recieve a write event.<br/> - * + * servlet will recieve a write event. + * <br> * Note: If the servlet is not using ready, and is writing its output inside the * container threads, using this method is not mandatory, but any incomplete writes will be * performed again in blocking mode. * - * @return boolean true if you can write to the response + * @return boolean true if data can be written */ public boolean ready(); /** - * Suspend processing of the connection until the configured timeout occurs, or resume() is called. In - * parctice, this means the servlet will no longer recieve read events. Reading should always be - * performed synchronously in the Tomcat threads unless the connection has been suspended. + * Suspend processing of the connection until the configured timeout occurs, + * or resume() is called. In parctice, this means the servlet will no longer + * recieve read events. Reading should always be performed synchronously in + * the Tomcat threads unless the connection has been suspended. */ public void suspend(); /** - * Will ask the servlet container to send a generic event to the servlet, where the request can be processed - * synchronously (for example, it is possible to use this to complete the request after some asynchronous - * processing is done). This also resumes read events if they had been disabled using suspend (it is possible - * to call suspend again). It is possible to call resume without calling suspend before. + * Resume will cause the servlet container to send a generic event + * to the servlet, where the request can be processed synchronously + * (for example, it is possible to use this to complete the request after + * some asynchronous processing is done). This also resumes read events + * if they have been disabled using suspend. It is then possible to call suspend + * again later. It is also possible to call resume without calling suspend before. */ public void resume(); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]