activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AMQ-2115) activemq-flow: Enhancements/Refactoring to prototype, Network Flow Control, use of Dispatcher for RemoteConnections, non blocking i/o building blocks
Date Mon, 16 Feb 2009 15:37:59 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Hiram Chirino resolved AMQ-2115.
--------------------------------

    Resolution: Fixed

Colin, nice additions!  Patch applied.

> activemq-flow: Enhancements/Refactoring to prototype, Network Flow Control, use of Dispatcher
for RemoteConnections, non blocking i/o building blocks
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2115
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2115
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: incubation
>         Environment: n/a
>            Reporter: Colin MacNaughton
>             Fix For: incubation
>
>         Attachments: nonblockingdisp.txt
>
>
> Along with some other refactoring, these changes are an incremental step towards support
a non blocking i/o environment conducive to single/low thread count broker. 
> Listing of changes:
> 1. Introduced org.apache.activemq.transport.DispatchableTransport and DispatchableTransportServer.
These can be provided a dispatcher and operate in a non blocking fashion. They need to be
backed by a FlowController to avoid overflow. 
> 2. Changed PipeTransportFactory to operate in non blocking fashion by implementing above
interfaces. 
> 3. Added copy of org.apache.activemq.transport.nio package which are being refactored
so they can be used with above interfaces.
> 4. Modified RemoteProducer, RemoteConsumer and BrokerConnection to extend RemoteConnection
to take advantage of common network level changes described below. 
> 5. Changed RemoteConnection to incorporate network WindowLimiter which assert flow control
via protocol instead of relying on transport level flow control. Also updated RemoteConnection
to take a Dispatcher. Deleted AbstractTestConnection.
> 6. Changed FlowController and PriorityFlowController not to implement IFlowSink. Instead
introduced org.apache.activemq.SingleFlowRelay which wraps the FlowController and acts as
a Sink/Source that does not queue messages that it is passing through, this now acts as the
output sink for RemoteConnection.  
> 7. Modified test.proto ProtocolBuffers definition to include new FlowControl message
used to communicate space released by the flow controller in support of using protocol based
flowcontrol instead of transport based flow control. 
> 8. Introduced org.apache.activemq.wireformat.StatefulWireformat which allows stateful
non blocking marshalling/unmarshalling. Changed ProtoWireFormatFactory.TestWireformat to implement
this so that non blocking i/o can be achieved. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message