Trustin Lee
2a87950784
[maven-release-plugin] prepare for next development iteration
2013-03-16 18:41:36 +09:00
Trustin Lee
adfb29330b
[maven-release-plugin] prepare release netty-4.0.0.Beta3
2013-03-16 18:40:59 +09:00
Trustin Lee
5fe2e7fc9d
Fix more memory leaks in buffer tests
2013-03-14 17:21:31 +09:00
Trustin Lee
0f351d2c47
Fix memory leak in DefaultCompositeByteBuf when a component is another CompositeByteBuf / Allow retain() and release() on a derived buffer
2013-03-14 16:37:20 +09:00
Trustin Lee
60d9984db1
Fix memory leak in DefaultCompositeByteBuf when a component is another CompositeByteBuf
2013-03-14 16:06:38 +09:00
Trustin Lee
d2b137649d
Fix more memory leaks in the buffer tests
2013-03-14 15:25:22 +09:00
Trustin Lee
b86d3d692a
Fix a bug where AbstractByteBuf.order() doesn't return a swapped buffer if capacity is 0.
...
- Fixes #1152
2013-03-14 06:58:14 +09:00
Trustin Lee
5830875b42
Fix a memory leak in AbstractCompositeByteBufTest
...
- Fixed #1147
2013-03-13 15:09:26 +09:00
Trustin Lee
94a9096be5
Fix a memory leak in AbstractCompositeByteBufTest
2013-03-12 17:57:23 +09:00
Trustin Lee
b271774c90
Fix memory leak in UnpooledTest
...
- nothing critical. It's a test that leaks. Not CompositeByteBuf implementation.
2013-03-12 16:49:14 +09:00
Trustin Lee
e1dd149ca6
Reschedule the streaming API for later
...
- Will release as a part of http_next
2013-03-12 13:08:10 +09:00
Trustin Lee
8f5eaaa740
Make StreamTest finish sooner to make CI happy
2013-03-11 09:46:36 +09:00
Trustin Lee
5d65bbc0a9
Add package-info.java for the Stream API / Print maven version on travis CI
2013-03-11 09:09:46 +09:00
Trustin Lee
32efba34d8
Initial implementation of the Streaming API
...
This pull request provides a framework for exchanging a very large
stream between handlers, typically between a decoder and an inbound
handler (or between a handler that writes a message and an encoder that
encodes that message).
For example, an HTTP decoder, previously, generates multiple
micro-messages to decode an HTTP message (i.e. HttpRequest +
HttpChunks). With the streaming API, The HTTP decoder can simply
generate a single HTTP message whose content is a Stream. And then the
inbound handler can consume the Stream via the buffer you created when
you begin to read the stream. If you create a buffer whose capacity is
bounded, you can handle a very large stream without allocating a lot of
memory. If you just want to wait until the whole content is ready, you
can also do that with an unbounded buffer.
The streaming API also supports a limited form of communication between
a producer (i.e. decoder) and a consumer. A producer can abort the
stream if the stream is not valid anymore. A consumer can choose to
reject or discard the stream, where rejection is for unrecoverable
failure and discard is for recoverable failure.
P.S. Special thanks to @jpinner for the initial input.
2013-03-11 08:57:17 +09:00
Norman Maurer
0a1bc86569
Javadocs cleanup / added
2013-03-10 21:07:19 +01:00
Norman Maurer
0ac5fd9f18
Let BufUtil.retain(...) return the given object
2013-03-10 19:50:26 +01:00
Trustin Lee
63116239ac
Always use EmptyByteBuf when a user attempts to construct a buffer with 0 maxCapacity / Make EmptyByteBuf remember the allocator it came from / Optimize EmptyByteBuf a little bit
2013-03-08 11:03:11 +09:00
Trustin Lee
096e4c95ef
Fix checkstyle
2013-03-08 10:39:52 +09:00
Trustin Lee
12f1d96914
Relaxed memory access constraint of ReferenceCounted.refCnt() for potentially better performance / More precise reference counting for MessageBuf
2013-03-08 10:32:20 +09:00
Trustin Lee
303f83043b
Fix checkstyle
2013-03-06 18:23:08 +09:00
Trustin Lee
88df53ec1a
Fix infinite recursion when transferring data between different type of buffers / Add ByteBuf.hasMemoryAddress/memoryAddress()
...
- Fixes : #1109 and #1110
2013-03-06 18:22:16 +09:00
Trustin Lee
3d6d9f394d
Fix checkstyle
2013-03-06 17:10:26 +09:00
Trustin Lee
81ce0555e6
Add UnpooledUnsafeDirectByteBuf and use it when low-level access is available
...
- Remove PooledUnsafeDirectByteBuf.setMedium() which is redundant
- Fix constructor visibility
2013-03-06 16:01:46 +09:00
Trustin Lee
6c3d5ed907
Use _set* in AbstractByteBuf.write*()
2013-03-06 14:56:27 +09:00
Trustin Lee
1c1570ffc4
Make field access via ByteBuf.read/write*() faster by avoiding unnecessary boundary checks
...
- also disabled a time consuming test that is actually a regression test
2013-03-06 10:32:29 +09:00
Trustin Lee
5f2c2cdc9b
Fix a bug in PoolArena and PoolSubpage where subpage pools are not updated correctly
...
- Make PoolSubpage a linked list node in the pool
- Now that a subpage is added to and removed from the pool correctly, allocating a subpage from the pool became vastly simpler.
2013-03-05 23:55:41 +09:00
Trustin Lee
4cb023f190
Add more variants of ByteBufAllocator.ioBuffer() / Update Javadoc
2013-03-05 17:59:31 +09:00
Trustin Lee
8d88acb4a7
Change ByteBufAllocator.buffer() to allocate a direct buffer only when the platform can handle a direct buffer reliably
...
- Rename directbyDefault to preferDirect
- Add a system property 'io.netty.prederDirect' to allow a user from changing the preference on launch-time
- Merge UnpooledByteBufAllocator.DEFAULT_BY_* to DEFAULT
2013-03-05 17:55:24 +09:00
Trustin Lee
307e6c47d8
Make hasUnsafe() return true only when all necessary low level operations are available for reliable direct buffer access
2013-03-05 17:25:54 +09:00
Trustin Lee
7e17f71b30
Make PlatformDependent work with the platforms without unaligned access support
2013-03-05 14:27:52 +09:00
Trustin Lee
d4d01ba52c
Optimize SlicedByteBuf a little bit
2013-02-27 15:19:25 -08:00
Trustin Lee
49aa907bd0
[maven-release-plugin] prepare for next development iteration
2013-02-26 16:55:07 -08:00
Trustin Lee
5026c2f359
[maven-release-plugin] prepare release netty-4.0.0.Beta2
2013-02-26 16:54:53 -08:00
Trustin Lee
a9a8d5d8c2
Clean-up
2013-02-21 14:17:04 -08:00
Norman Maurer
74738fbd08
[ #1061 ] Add workaround to not use PooledUnsafeDirectByteBuf when running on latest OpenJDK6 because of missing Unsafe method
2013-02-19 12:21:08 +01:00
Norman Maurer
4ed5b07e4e
[ #1060 ] Fix bug in CompositeByteBuf which let the buffer expand in a incorrect way and so result in corrupted data
2013-02-19 09:43:31 +01:00
Norman Maurer
1c6ed9b2ce
Add javadocs
2013-02-17 20:12:48 +01:00
Trustin Lee
d68a04a879
[maven-release-plugin] prepare for next development iteration
2013-02-14 12:56:24 -08:00
Trustin Lee
59e638f8f5
[maven-release-plugin] prepare release netty-4.0.0.Beta1
2013-02-14 12:56:15 -08:00
Trustin Lee
1011227b88
Remove apiviz tags - we are focusing on user guide instead and putting diagrams there
2013-02-14 12:09:16 -08:00
Norman Maurer
7c002504a1
[ #1051 ] Increment by the correct value
2013-02-14 14:28:47 +01:00
Norman Maurer
5370573400
Change ReferenceCounted.retain* to return itself and so allow method chaining
2013-02-14 07:39:44 +01:00
Trustin Lee
a1540a49d3
More safety in DefaultMessageBuf
2013-02-13 14:58:21 -08:00
Norman Maurer
a8216e7ce0
Fix possible NPE
2013-02-13 09:52:07 +01:00
Trustin Lee
4aacf50758
Prettify APIviz diagrams / Remove an empty package
2013-02-11 18:33:15 +09:00
Trustin Lee
aca0d5fa68
Make CompositeyteBuf and MessageBuf call release() on its elements when it is deallocated
2013-02-11 17:19:53 +09:00
Trustin Lee
bf0bfe9a69
Fix inspector warnings
2013-02-11 16:52:43 +09:00
Trustin Lee
0e341c9d72
Fix covariant return types in ChannelConfig interfaces for method chaining
...
- Does it really worth doing this? I'm tempted to remove support for method chaining for ChannelConfig.
2013-02-11 15:08:51 +09:00
Trustin Lee
4f6d05365a
Fix a race condition in reference counter implementation / Reference count never goes below 0
2013-02-10 14:22:14 +09:00
Trustin Lee
b9996908b1
Implement reference counting
...
- Related: #1029
- Replace Freeable with ReferenceCounted
- Add AbstractReferenceCounted
- Add AbstractReferenceCountedByteBuf
- Add AbstractDerivedByteBuf
- Add EmptyByteBuf
2013-02-10 13:10:09 +09:00