[ 
https://issues.apache.org/jira/browse/QPID-6840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004145#comment-15004145
 ] 

Lorenz Quack commented on QPID-6840:
------------------------------------

Review comments (mostly small stuff):
* {{WebSocketProvider}} does not interleave. Do WebSockets not suffer from the 
same issue as NonBlockingConnections?
* In {{NonBlockingConnection}}
** Typo in the the variable name {{_pendingItertor}} 
** Giving the expression {{(size - getBufferedSize())}} a name (e.g., 
{{bytesWritten}}) would increase readability.
** Before we {{doRead()}} we used to call 
{{setTransportBlockedForWriting(!doWrite())}}. Now you unconditionally call 
{{setTransportBlockedForWriting(false)}} even though it is likely that we do 
have stuff to write in our buffers.
** Can {{wantsRead()}} and {{wantsWrite()}} be package protected?
** And here comes the comment you do not want to hear: {{doWork()}} has grown 
far longer and more deeply nested than what is healthy for a method. Maybe some 
refactoring is in place?


> [Java Broker] Interleave calls to processPending with attempts to write 
> outstanding data
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-6840
>                 URL: https://issues.apache.org/jira/browse/QPID-6840
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Lorenz Quack
>             Fix For: qpid-java-6.0
>
>
> Currently NonBlockingConnection.doWork() completes all "pending" work before 
> attempting a write, and then processes incoming network reads.
> Instead we should ensure that once we have enough data to fill the send 
> buffer, we should perform a network write.  If we cannot write out enough 
> data to the wire, we should stop processing pending work (which will 
> consuming direct memory which cannot be reclaimed until the buffers are 
> written).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to