I think Jetty had an intersting approach on this, with their so called
'continuation'.
I didn't like their use of exceptions to control the flow.

+1 on adding the functionality ( as long as you're ok with eventually adding
the same
on the nio connector on sandbox :-), but it would be great to review the
proposed API
that servlets will need to implement.

For example, I would assume what you need is:
1. a servlet to tell tomcat to not close the connection ( "I'm not done, but
I'm going to sleep waiting for events for a while" )
2. a way for a thread/event to tell tomcat to resume a particular request,
and
3. a way for tomcat to wake up a servlet if some activity happens on the
client side.
For 1 - I assume a tomcat-specific API or (special) request attribute is
needed ( and service() to return ). Jetty uses a
special exception, I don't think it's a good idea.
For 2 - any reason for new API ? Could it just use the saved response object
?
For 3 - ??? Call service again with an extra attribute ?  Require servlets
to implement an interface or to
register with tomcat a callback ( maybe using setAttribute when going to
sleep ) ?


Costin


On 5/16/06, Remy Maucherat <[EMAIL PROTECTED]> wrote:

Costin Manolache wrote:
> For those of us who don't know much about 'comet' - could you explain a
bit
> more ?
> A small example, some pointers to what APIs are needed ( if it's not
> service
> ),
> why service doesn't work, etc.

There's some documentation here:
http://alex.dojotoolkit.org/wp-content/LowLatencyData.pdf

The (only) actually useful capability is of course to push back data at
any time. To replicate the same with regular servlets, you need a
forever running service method, which doesn't work that well. It's
really evil-hype-powered stuff, and I think it's all your company's fault
:(

However, since my attempts at SIP (which has the same biderectional
capabilities without the hacks, of course) miserably failed, and since
it's not too hard to implement in the APR connectors, I think it should
be done (the API right now is an interface that the servlet should
implement, but I plan to provide a ready to use abstract servlet which
should be easy to work with).

Rémy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to