IoBuffer: Support prepending data
---------------------------------

                 Key: DIRMINA-507
                 URL: https://issues.apache.org/jira/browse/DIRMINA-507
             Project: MINA
          Issue Type: New Feature
          Components: Core
            Reporter: David M. Lloyd
            Priority: Minor


I'd like to see IoBuffer enhanced to support prepending data.  It could work as 
follows:

* A means to specificy or reserve space should be provided.  An 
IoBuffer.reserve() method could do the trick, and maybe a 3-parameter version 
of IoBuffer.  IoBuffer.reserve() would keep the position at zero, but decrease 
the capacity and limit by the given number of bytes, and move the buffer start 
up by the given number of bytes.
* A means to reclaim the space must be provided.  An IoBuffer.reclaim() would 
work by moving the buffer start back down by the given amount, maybe returning 
a slice to the recovered area.  Or another alternative would be to have a 
series of prepend* methods which would prepend bytes/ints/etc. similar to 
put*(), but rather than adding to the end of the buffer, they would add to the 
beginning, moving the buffer start back down to the start of the just-written 
data.  Though I'm not sure how helpful it would be to add another dozen methods 
to a class that already has probably over a hundred methods.
* Care should be taken that the mechanism to prepend data does not allow a user 
to "escape" a buffer slice.


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

Reply via email to