[ 
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]

Reply via email to