diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java index 04f46c55b2..8a04b8cf2e 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java @@ -65,45 +65,59 @@ public class DefaultFullBinaryMemcacheRequest extends DefaultBinaryMemcacheReque @Override public FullBinaryMemcacheRequest retain() { + super.retain(); content.retain(); return this; } @Override public FullBinaryMemcacheRequest retain(int increment) { + super.retain(increment); content.retain(increment); return this; } @Override public FullBinaryMemcacheRequest touch() { + super.touch(); content.touch(); return this; } @Override public FullBinaryMemcacheRequest touch(Object hint) { + super.touch(hint); content.touch(hint); return this; } @Override public boolean release() { + super.release(); return content.release(); } @Override public boolean release(int decrement) { + super.release(decrement); return content.release(decrement); } @Override public FullBinaryMemcacheRequest copy() { - return new DefaultFullBinaryMemcacheRequest(getKey(), getExtras(), content().copy()); + ByteBuf extras = getExtras(); + if (extras != null) { + extras = extras.copy(); + } + return new DefaultFullBinaryMemcacheRequest(getKey(), extras, content().copy()); } @Override public FullBinaryMemcacheRequest duplicate() { - return new DefaultFullBinaryMemcacheRequest(getKey(), getExtras(), content().duplicate()); + ByteBuf extras = getExtras(); + if (extras != null) { + extras = extras.duplicate(); + } + return new DefaultFullBinaryMemcacheRequest(getKey(), extras, content().duplicate()); } } diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java index 87a3f4a45f..cc210df9b1 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java @@ -65,45 +65,59 @@ public class DefaultFullBinaryMemcacheResponse extends DefaultBinaryMemcacheResp @Override public FullBinaryMemcacheResponse retain() { + super.retain(); content.retain(); return this; } @Override public FullBinaryMemcacheResponse retain(int increment) { + super.retain(increment); content.retain(increment); return this; } @Override public FullBinaryMemcacheResponse touch() { + super.touch(); content.touch(); return this; } @Override public FullBinaryMemcacheResponse touch(Object hint) { + super.touch(hint); content.touch(hint); return this; } @Override public boolean release() { + super.release(); return content.release(); } @Override public boolean release(int decrement) { + super.release(decrement); return content.release(decrement); } @Override public FullBinaryMemcacheResponse copy() { - return new DefaultFullBinaryMemcacheResponse(getKey(), getExtras(), content().copy()); + ByteBuf extras = getExtras(); + if (extras != null) { + extras = extras.copy(); + } + return new DefaultFullBinaryMemcacheResponse(getKey(), extras, content().copy()); } @Override public FullBinaryMemcacheResponse duplicate() { - return new DefaultFullBinaryMemcacheResponse(getKey(), getExtras(), content().duplicate()); + ByteBuf extras = getExtras(); + if (extras != null) { + extras = extras.duplicate(); + } + return new DefaultFullBinaryMemcacheResponse(getKey(), extras, content().duplicate()); } }