[
https://issues.apache.org/jira/browse/HTTPCORE-148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Berlin updated HTTPCORE-148:
--------------------------------
Attachment: changes2.txt
Attached is a revised version of the patch, complete except for javadocs being
out-of-date and/or not written for some classes.
This uses the NHttpRequestHandler scheme, except still using ContentListener.
The sole thing I don't like is the fact that ContentListener.consumeContent
returns true|false to instruct other logic. I couldn't see any other way
around it, though, without resorting to forcing all incoming content in
NBlockingRequestHandler to be completely buffered. This is a side-effect of
separating handle from the content-listener installation. I *think* it would
be the same even if ConsumingNHttpEntity consumed directly.
A bonus of the patch is that I managed to completely remove all
request/response state from the service handler. In theory, this means it
should be fully capable of pipelining. (There still is a ServerConnState
object, to record all active ContentListeners/ProducingEntities, in case the
connection is aborted and they need to be cleaned up.)
> Create AsyncNHttpServiceHandler & AsyncNHttpClientHandler
> ---------------------------------------------------------
>
> Key: HTTPCORE-148
> URL: https://issues.apache.org/jira/browse/HTTPCORE-148
> Project: HttpComponents Core
> Issue Type: New Feature
> Components: HttpCore NIO
> Affects Versions: 4.0-beta2
> Reporter: Sam Berlin
> Assignee: Oleg Kalnichevski
> Attachments: changes.txt, changes2.txt
>
>
> Attached is a patch for AsyncNHttpServiceHandler. It actually works (as
> tested by running & hitting it with IE.) :)
> To test, run the example 'AsyncNHttpFileServer' in the examples directory or
> the TestAsyncNHttpHandlers test.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]