[
https://issues.jboss.org/browse/JGRP-1396?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1396:
--------------------------------
We could even have just *one* retransmitter for all members in a given member, e.g. if
we're A, and have RingBuffers for A, B, C, D and E; instead of having one
retransmitter for A, another one for B and so on, we just have *one* retransmitter for
*all* A, B, C, D and E.
The retransmitter periodically scans all ring buffers for A,B,C,D,E and creates a
retransmit message including all of the above members plus their bitmaps of missing
messages (if there are any).
The retransmit request could then be broadcast (favoring a UDP based transport), and
everyone could do the retransmission, not only the original sender...
Perhaps we could even ship the highest seqnos received with this data, and could therefore
do (1) stability and (2) retransmission of last-messages lost.
Or, more conventionally, the retransmitter scans through all ring buffers for all members
in turn and sends retransmission requests to the senders individually, as is currently the
case. This means, we'll still only need 1 retransmitter (1 retransmission task only
!), and the retransmitter itself is quite simple, and not located in the ring buffer, but
in NAKACK (or UNICAST2) itself.
Merge NakReceiverWindow and Retransmitter
-----------------------------------------
Key: JGRP-1396
URL:
https://issues.jboss.org/browse/JGRP-1396
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.1
Both NakReceiverWindow and Retransmitter use their own data structures to keep a list of
messages received (NRW) and seqnos to be retransmitted (Retrasmitter). This is redundant
and costly memory-wise.
I suggest let's merge the 2 classes, or at least let them share the data structure
which keeps track of received messages.
Suggestion II: create a ring buffer with a (changeable) capacity that keeps track of
received messages and messages to be retransmitted.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira