From 45298453ec4c78b68a2c42782655451f72aa560d Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 27 Mar 2019 11:43:05 +0200 Subject: GC old complicated stuff that is no longer in use to simplify. --- .../src/main/java/com/yahoo/fs4/BasicPacket.java | 36 ++++------------------ .../src/main/java/com/yahoo/fs4/Packet.java | 13 -------- 2 files changed, 6 insertions(+), 43 deletions(-) (limited to 'container-search/src/main/java/com/yahoo/fs4') diff --git a/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java b/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java index 5441fff1aeb..ceb3ca31527 100644 --- a/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java +++ b/container-search/src/main/java/com/yahoo/fs4/BasicPacket.java @@ -28,8 +28,6 @@ public abstract class BasicPacket { private byte[] encodedBody; - private ByteBuffer encodingBuffer; - /** The length of this packet in bytes or -1 if not known */ protected int length = -1; @@ -222,16 +220,11 @@ public abstract class BasicPacket { * * If this packet does not use a channel ID, the ID will be ignored. */ - public final void allocateAndEncode(int channelId) { - allocateAndEncode(channelId, DEFAULT_WRITE_BUFFER_SIZE); + public final ByteBuffer allocateAndEncode(int channelId) { + return allocateAndEncode(channelId, DEFAULT_WRITE_BUFFER_SIZE); } - private void allocateAndEncode(int channelId, int initialSize) { - if (encodingBuffer != null) { - patchChannelId(encodingBuffer, channelId); - return; - } - + private ByteBuffer allocateAndEncode(int channelId, int initialSize) { int size = initialSize; ByteBuffer buffer = ByteBuffer.allocate(size); while (true) { @@ -242,7 +235,6 @@ public abstract class BasicPacket { encode(buffer); } buffer.flip(); - encodingBuffer = buffer; break; } catch (BufferTooSmallException e) { @@ -250,35 +242,19 @@ public abstract class BasicPacket { buffer = ByteBuffer.allocate(size); } } + return buffer; } - // No channel ID for BasicPacket instances, so it's a NOP - protected void patchChannelId(ByteBuffer buf, int channelId) {} - /** * Return buffer containing the encoded form of this package and * remove internal reference to it. */ public final ByteBuffer grantEncodingBuffer(int channelId) { - if (encodingBuffer == null) { - allocateAndEncode(channelId); - } else { - patchChannelId(encodingBuffer, channelId); - } - ByteBuffer b = encodingBuffer; - encodingBuffer = null; - return b; + return allocateAndEncode(channelId); } public final ByteBuffer grantEncodingBuffer(int channelId, int initialSize) { - if (encodingBuffer == null) { - allocateAndEncode(channelId, initialSize); - } else { - patchChannelId(encodingBuffer, channelId); - } - ByteBuffer b = encodingBuffer; - encodingBuffer = null; - return b; + return allocateAndEncode(channelId, initialSize); } /** Returns the code of this package */ diff --git a/container-search/src/main/java/com/yahoo/fs4/Packet.java b/container-search/src/main/java/com/yahoo/fs4/Packet.java index 78d5083c25f..1e9deede59d 100644 --- a/container-search/src/main/java/com/yahoo/fs4/Packet.java +++ b/container-search/src/main/java/com/yahoo/fs4/Packet.java @@ -19,8 +19,6 @@ public abstract class Packet extends BasicPacket { */ protected int channel = -1; - private static final int CHANNEL_ID_OFFSET = 8; - /** * Fills this package from a byte buffer positioned at the first * byte of the package @@ -109,17 +107,6 @@ public abstract class Packet extends BasicPacket { return true; } - /** - * Only for use with encodingBuffer magic. - * - * This is only called from allocateAndEncode and grantEncodingBuffer, - * therefore an assumption about the packet starting at the beginning of the - * buffer is made. - */ - protected void patchChannelId(ByteBuffer buf, int channelId) { - buf.putInt(CHANNEL_ID_OFFSET, channelId); - } - public String toString() { return "packet with code " + getCode() + ", channelId=" + getChannel(); } -- cgit v1.2.3