3a9f472161
Related: #4333 #4421 #5128 Motivation: slice(), duplicate() and readSlice() currently create a non-recyclable derived buffer instance. Under heavy load, an application that creates a lot of derived buffers can put the garbage collector under pressure. Modifications: - Add the following methods which creates a non-recyclable derived buffer - retainedSlice() - retainedDuplicate() - readRetainedSlice() - Add the new recyclable derived buffer implementations, which has its own reference count value - Add ByteBufHolder.retainedDuplicate() - Add ByteBufHolder.replace(ByteBuf) so that.. - a user can replace the content of the holder in a consistent way - copy/duplicate/retainedDuplicate() can delegate the holder construction to replace(ByteBuf) - Use retainedDuplicate() and retainedSlice() wherever possible - Miscellaneous: - Rename DuplicateByteBufTest to DuplicatedByteBufTest (missing 'D') - Make ReplayingDecoderByteBuf.reject() return an exception instead of throwing it so that its callers don't need to add dummy return statement Result: Derived buffers are now recycled when created via retainedSlice() and retainedDuplicate() and derived from a pooled buffer |
||
---|---|---|
.. | ||
extensions | ||
BinaryWebSocketFrame.java | ||
CloseWebSocketFrame.java | ||
ContinuationWebSocketFrame.java | ||
package-info.java | ||
PingWebSocketFrame.java | ||
PongWebSocketFrame.java | ||
TextWebSocketFrame.java | ||
Utf8FrameValidator.java | ||
Utf8Validator.java | ||
WebSocket07FrameDecoder.java | ||
WebSocket07FrameEncoder.java | ||
WebSocket08FrameDecoder.java | ||
WebSocket08FrameEncoder.java | ||
WebSocket13FrameDecoder.java | ||
WebSocket13FrameEncoder.java | ||
WebSocket00FrameDecoder.java | ||
WebSocket00FrameEncoder.java | ||
WebSocketClientHandshaker.java | ||
WebSocketClientHandshaker07.java | ||
WebSocketClientHandshaker08.java | ||
WebSocketClientHandshaker13.java | ||
WebSocketClientHandshaker00.java | ||
WebSocketClientHandshakerFactory.java | ||
WebSocketClientProtocolHandler.java | ||
WebSocketClientProtocolHandshakeHandler.java | ||
WebSocketFrame.java | ||
WebSocketFrameAggregator.java | ||
WebSocketFrameDecoder.java | ||
WebSocketFrameEncoder.java | ||
WebSocketHandshakeException.java | ||
WebSocketProtocolHandler.java | ||
WebSocketServerHandshaker.java | ||
WebSocketServerHandshaker07.java | ||
WebSocketServerHandshaker08.java | ||
WebSocketServerHandshaker13.java | ||
WebSocketServerHandshaker00.java | ||
WebSocketServerHandshakerFactory.java | ||
WebSocketServerProtocolHandler.java | ||
WebSocketServerProtocolHandshakeHandler.java | ||
WebSocketUtil.java | ||
WebSocketVersion.java |