Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1951

Flexible buffers for scatter/gather

    Details

    • Type: Feature Request
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.6.7
    • Labels:
      None

      Description

      Currently, Buffers and WriteBuffers are inflexible in that they always expect a length buffer followed by data (Buffers), or a sequence of len/data pairs (WriteBuffers).
      This is bad if we for example want to read a sequence like the one below (for connection establishment in TCP):

      | cookie | version | len | peer-address |
         (4)         (2)      (2)     (variable)
      

      Goals:

      • Have only 1 buffer, for reading and writing
      • Allow to define the sequence by adding buffers dynamically, e.g. in the above case, we'd add a 4 and a 2-length buffer and read data into them. If the cookie and version don't match, throw an exception, else dynamically add a length buffer (possibly doing a clear() which removes the first 2 buffers), read data into it, then add a new buffer sized to the read length and finally read data into it.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  belaban Bela Ban
                  Reporter:
                  belaban Bela Ban
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: