Github user jeffjirsa commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/239#discussion_r201464761
--- Diff:
src/java/org/apache/cassandra/net/async/RebufferingByteBufDataInputPlus.java ---
@@ -249,4 +253,50 @@ public ByteBufAllocator getAllocator()
{
return channelConfig.getAllocator();
}
+
+ /**
+ * Consumes bytes in the stream until the given length
+ *
+ * @param writer
+ * @param len
+ * @return
+ * @throws IOException
+ */
+ public long consumeUntil(BufferedDataOutputStreamPlus writer, long
len) throws IOException
+ {
+ long copied = 0; // number of bytes copied
+ while (copied < len)
+ {
+ int position = buffer.position();
+ int remaining = buffer.remaining();
+ if (remaining == 0)
+ {
+ try
+ {
+ reBuffer();
+ } catch (EOFException e)
+ {
+ throw new EOFException("EOF after " + copied + " bytes
out of " + len);
+ }
+ position = buffer.position();
+ remaining = buffer.remaining();
+ if (remaining == 0)
--- End diff --
Style guide says
âAlways include braces for nested levels of conditionals and loops. Only
avoid braces for single level.â
Skipping for single level has always been ok.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]