[
https://issues.jboss.org/browse/JGRP-1396?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1396:
--------------------------------
The RingBuffer has a low and high pointer: the low pointer can never advance past the high
pointer, and vice versa. When the the buffer is full, messages cannot be added and are
discarded. (This causes less credits to be sent back to the sender, thus throttling it).
The RingBuffer can also be used by the retransmitter: it simply periodically scans through
the buffer and returns a bitmap in which missing messages are marked as 0's (or we can
return the inverted bitmap, if the size of it is smaller). The bitmap, plus a flag telling
whether the map is inverted, plus an offset are sent as part of the retransmission request
to the sender.
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.2
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