users@servlet-spec.java.net

[servlet-spec users] [jsr340-experts] Re: Candidate for Servlet 3.1 Early draft review

From: Alex Rojkov <alex_at_caucho.com>
Date: Wed, 29 Feb 2012 11:00:31 -0800

> I have enclosed the candidate Servlet 3.1 Early draft review with change bars and the associated javadoc.
> The source code can be found at https://svn.java.net/svn/glassfish~svn/trunk/api/javaee-api/javax.servlet .
> For a list of changes, please look at the status chapter.
> Please give us feedback by Mar 6 (next Tue).
>
> Shing Wai Chan and Rajiv Mordani

Comments:

- ProtocolHandler
-- when client sends no data and the connection timesout it would be
    good to have the handler notified. I think adding
    onInputTImeout(WebConnection ws) could be a clean solution.

-- when client closes connection it would be good to have the handler
   notified: onInputClosed(WebConnection ws);

- AsyncIOInputSource
-- can methods int dataAvailable() and isReady() seem redundant. One
   method (dataAvailable()) seem sufficient to achieve the task.
-- I am not sure I understand the interface description correctly.

  <quote>This interface defines methods to allow an ServletInputStream
  or ServletReader to notify the developer when and how much data
  is ready to be read without blocking</quote>

-- The word 'notify' associates with a callback in my mind, so possibly
   we reword the description. (it's possible that my association is incorrect,
  in which case please point this out).


- AsyncIOOutputSink
-- Description question:
   <quote>This interface defines methods to allow an ServletOutputStream or
   ServletWriter to allow the developer to check with the runtime whether or
   not it's possible to write data, or if it's not possible, to be notified when it is.
   </quote>
-- concern with using 'notified' invoking callback associations.
-- I am not sure I understand the semantics around defining a proper x in
    canWriter(int x) method? I am assuming it's the available size of an internal
   buffer. Please comment.

Thanks,
Alex