Trustin Lee
a61d5b2e6b
2010-02-02 02:00:04 +00:00
Trustin Lee
4a3495b1c8
* Added @Sharable annotation which replaces @ChannelPipelineCoverage
...
* Removed annotations from the examples because it's not essential part of learning the framework - User guide will explain about it later
2010-02-02 00:38:07 +00:00
Trustin Lee
2f7c758fe6
Removed the reference to ChannelPipelineCoverage in the getting started guide. Beginners should simply start from creating a new instance for every new connection, as shown in the guide and all examples which were revised to avoid confusion.
...
Shared instances are more advanced topic, which will be addressed in another chapter.
2010-02-01 23:56:37 +00:00
Trustin Lee
901b1f099a
* Deprecated ChannelPipelineCoverage (Will be replaced with something I will introduce later)
...
* Revised JavaDoc so that a user can learn how to manage handler states
* Revised JavaDoc about using ExecutionHandler
2010-02-01 11:46:09 +00:00
Trustin Lee
7e3358f0f3
CRLF -> CR + LF
2010-02-01 08:32:18 +00:00
Trustin Lee
bb0c1e139f
* Disabled chunked encoding for RTSP
...
* Added RTSP encoders
2010-02-01 08:28:17 +00:00
Trustin Lee
829114c37f
Organized imports
2010-02-01 06:25:23 +00:00
Trustin Lee
686ef795f9
* Added NonReentrantLock
...
* Replaced ReentrantLock or monitor object with NonReentrantLock
2010-02-01 06:21:49 +00:00
Trustin Lee
2e363ee918
Inlined too trivial write() method
2010-01-29 03:09:24 +00:00
Trustin Lee
e0c14e096a
Removed unnecessary attachment() calls
2010-01-29 03:04:19 +00:00
Trustin Lee
c4b5248f68
Reduced unnecessary duplicate calls on NioDatagramChannel
2010-01-29 03:02:03 +00:00
Trustin Lee
9b1d9b0c61
Reduced unnecessary duplicate calls on NioSocketChannel
2010-01-29 02:59:40 +00:00
Trustin Lee
eed6e6cc3a
Fixed a bug where DiscardClientHandler.transferredBytes are always zero
2010-01-28 17:12:00 +00:00
Trustin Lee
102b69d14f
* Fixed a bug where write requests are allowed to be reentrant
...
* Fixed a bug where writeLock is not used properly - what a dumb mistake
2010-01-28 16:01:49 +00:00
Trustin Lee
84cf41890c
DirectBufferPool should be static because it uses thread local now
2010-01-28 13:16:46 +00:00
Trustin Lee
4bf4d5f814
Overhaul on NIO datagram writes
...
* Write operation is made in the caller thread opportunistically
* QOTM example uses NIO datagram transport now
* This modification still requires more performance analysis and testing
2010-01-28 07:50:28 +00:00
Trustin Lee
b74cd60815
Overhaul on NIO socket writes
...
* Write operation is made in the caller thread opportunistically
* DirectBufferPool became thread safe due to this change
* This modification still requires more performance analysis and testing
2010-01-28 07:34:02 +00:00
Trustin Lee
c59da2dfe6
Tiny optimization
2010-01-28 03:31:57 +00:00
Trustin Lee
73c81acdfa
comment
2010-01-28 03:30:40 +00:00
Trustin Lee
832fe29063
Even if no copy was made, writerIndex should be advanced
2010-01-28 03:28:59 +00:00
Trustin Lee
2b786116b5
No need to copy if bufferFactory created a direct buffer
2010-01-28 03:27:28 +00:00
Trustin Lee
c8d5f1ab4a
For an unknown reason a different exception is raised in NioWorker.read()
2010-01-28 03:24:09 +00:00
Trustin Lee
e9b8f6b2d7
Allowed access to DirectBufferPool.acquire(int)
2010-01-28 02:54:12 +00:00
Trustin Lee
bddfdba415
Use DirectBufferPool for NIO socket reads
2010-01-28 02:50:31 +00:00
Trustin Lee
aa80596b33
Fixed documentation errors in HttpMessageDecoder's subclasses
2010-01-27 08:13:38 +00:00
Trustin Lee
966004332b
Small optimizations on DirectBufferPool
2010-01-27 06:55:10 +00:00
Trustin Lee
c4a230a582
Removed unused method
2010-01-27 05:13:31 +00:00
Trustin Lee
36e804bbec
Resolved issue: NETTY-282 Reduce memory copy between heap buffers and direct buffers in NIO transport
...
* Replaced JDK's internal direct buffer pool with a custom pool optimized for Netty
* Added ChannelBuffer.isDirect()
* Cleaned up NioWorker.writeNow() and NioDatagramWorker.writeNow()
2010-01-27 05:07:32 +00:00
Trustin Lee
030ece5bf9
Removed redundant conditional
2010-01-27 02:43:49 +00:00
Trustin Lee
cb9f90d6d5
parameter description
2010-01-27 02:39:28 +00:00
Trustin Lee
a85635f74c
* Added HttpVersion.isKeepAliveDefault() to handle the 'Connection' header in a more robust manner
...
* Added HttpVersion constructors with the default keep alive flag - old constructors were deprecated due to ambiguity
* Moved HttpMessage.is/setKeepAlive() to HttpHeaders and deprecated the original method
2010-01-27 02:38:17 +00:00
Trustin Lee
aff9af5af2
Fixed a bug where DefaultNioSocketChannelConfig does not recognize 'receiveBufferSizePredictorFactory' option
2010-01-26 15:41:16 +00:00
Trustin Lee
2df22f8f36
Removed an empty line
2010-01-26 09:55:58 +00:00
Trustin Lee
4ac906d417
enum -> static enum
2010-01-26 09:55:22 +00:00
Trustin Lee
edfc15424e
Fixed Javadoc error
2010-01-26 09:43:20 +00:00
Trustin Lee
3362114248
* Replaced e-mail addresses into homepage/blog URL anywhere possible
...
* Added Amit to COPYRIGHT.txt
2010-01-26 09:04:19 +00:00
Trustin Lee
c2465826fd
RtspHeaders and its inner classes do not extend HttpHeaders anymore because RTSP user should not see non-RTSP header constants when he or she static-imported RtspHeaders.
2010-01-26 08:25:29 +00:00
Trustin Lee
9de5df705a
Added HttpHeaders.Names.CONTENT_BASE
2010-01-26 08:16:58 +00:00
Trustin Lee
573f8207a3
Removed wrong header value - max-fresh does not exist
2010-01-26 08:10:34 +00:00
Trustin Lee
39023c2c7e
Fixed JAvadoc
2010-01-26 08:04:57 +00:00
Trustin Lee
0e57f6d004
Made RtspMethods and RtspResponseStatuses final
2010-01-26 07:45:23 +00:00
Trustin Lee
07b6e791b5
RtspVersion does not need to extend HttpVersion at all - it does not add anything to HttpVersion
2010-01-26 07:44:08 +00:00
Trustin Lee
d389be442f
RstpResponseStatus does not need to extend HttpResponseStatus at all - it does not add anything to HttpResposneStatus
2010-01-26 07:42:32 +00:00
Trustin Lee
f632925e63
Typo (what a shame)
2010-01-26 07:35:29 +00:00
Trustin Lee
ea4692e967
RtspMethod does not need to extend HttpMethod at all - it does not add anything to HttpMethod
2010-01-26 07:25:44 +00:00
Trustin Lee
1ad9579e6e
Javadoc for the RTSP package
2010-01-26 06:31:25 +00:00
Trustin Lee
19cb90d73c
Added TODO
2010-01-26 06:30:40 +00:00
Trustin Lee
2ad21ec84d
Updated Javadoc of HttpHeaders
2010-01-26 06:30:12 +00:00
Trustin Lee
fddfd4e7cf
Cleaned HTTP example using static imports
2010-01-26 05:49:39 +00:00
Trustin Lee
98ccc7a784
Simplified HTTP snoop example
2010-01-26 05:39:00 +00:00
Trustin Lee
140aabef68
Fixed a bug where HttpMessage.removeHeader() leads to a dangling pointer in the internal data structure
2010-01-26 05:33:10 +00:00
Trustin Lee
e50e46425a
Improved DefaultHttpMessage.toString() for easier debugging
2010-01-26 05:17:52 +00:00
Trustin Lee
d0e886c344
Resolved issues: NETTY-280 Add convenient getters and setters for HTTP headers
...
Resolved issues: NETTY-281 Allow non-string values for HTTP header values
2010-01-26 04:31:54 +00:00
Trustin Lee
d87d81e398
Removed TestUtil.timingTestEnabled because it's not used in the CI servers
2010-01-26 03:02:34 +00:00
Trustin Lee
eeb4e8f7b1
Potential fix for failing timing tests
2010-01-26 02:57:41 +00:00
Trustin Lee
7b6fb53fc1
Use yield instead of sleep
2010-01-25 13:09:31 +00:00
Trustin Lee
6849ea2f4b
the the -> the
2010-01-25 12:27:51 +00:00
Trustin Lee
125ae30d04
Documentation TODO
2010-01-25 12:22:53 +00:00
Trustin Lee
f0431bb98d
Added a reference to SecureChatSslContextFactory for those who wants client cert auth
2010-01-25 11:51:12 +00:00
Trustin Lee
e8f3c3534c
Some warning message to confirm that certificate authentication really took place
2010-01-25 11:50:08 +00:00
Trustin Lee
a8eda60857
Explanation on implementing client cert auth
2010-01-25 11:40:47 +00:00
Trustin Lee
d5ad5a47ac
Use default parameters wherever possible to initialize SSLContexts
2010-01-25 11:26:55 +00:00
Trustin Lee
2e477b87c2
Added an instruction to generate a certificate when it expires (maybe in 98 years?)
2010-01-25 11:24:35 +00:00
Trustin Lee
a6f3a4f10f
RtspHeaders.Names should be non-final just in case someone extends it to add more constants, like we did with HttpHeaders.Names
2010-01-25 04:28:58 +00:00
Trustin Lee
129a54446c
Initial RTSP implementation which extended HTTP
2010-01-25 04:26:05 +00:00
Trustin Lee
1c2796983e
* Added Values.MIN_FRESH
...
* Made Names and Values extensible
2010-01-25 04:22:45 +00:00
Trustin Lee
2dde1e9bac
HttpResponseStatus.valueOf shoud not be final so that derived protocols can have the factory method with the same name
2010-01-25 04:07:47 +00:00
Trustin Lee
d216e321c8
Relax throws clause restriction
2010-01-25 03:52:20 +00:00
Trustin Lee
5a897af28d
Resolved issue: NETTY-278 ChannelBuffer.bytesBefore() as an alternative to indexOf()
...
* Added various bytesBefore() methods to ChannelBuffer
* Deprecated the methods that could be replaced by bytesBefore()
2010-01-20 05:55:16 +00:00
Trustin Lee
fe73de3497
Fixed a failing test
2010-01-15 07:12:07 +00:00
Trustin Lee
ebc2459bc7
Removed code duplication
2010-01-15 05:39:30 +00:00
Trustin Lee
8a8d1d1da6
Fixed failing test
2010-01-15 05:33:06 +00:00
Trustin Lee
57bdb3a4a5
Related issue: NETTY-257 Add the getters and setters for a String and a char[] to ChannelBuffer
...
* Reverted the previous addition of get/readString(...)
2010-01-15 05:28:17 +00:00
Trustin Lee
7d40d47270
Explicitly stated that a user can create many bootstraps with the same ChannelFactory
2010-01-15 00:47:29 +00:00
Trustin Lee
238bdc90b8
Fixed failing test
2010-01-14 12:24:59 +00:00
Trustin Lee
3ee7604591
CaseIgnoringComparator.INSTANCE should not be public
2010-01-14 12:21:00 +00:00
Trustin Lee
4ba7ae3749
Merged MapUtil to Bootstrap
2010-01-14 12:19:49 +00:00
Trustin Lee
a36ea0f3a4
Moved SwitchableInputStream and its test class to org.jboss.netty.handler.codec.serialization because it's used only there.
2010-01-14 12:15:04 +00:00
Trustin Lee
4d9b3346c5
Moved ImmediateExecutor and its test class to org.jboss.netty.handler.ssl because it's used only there. Actually there was another unrelated reference, so I simply forked.
2010-01-14 12:04:11 +00:00
Trustin Lee
23943ac256
Moved MapUtil and its test class to org.jboss.netty.bootstrap because it's used only there
2010-01-14 11:58:50 +00:00
Trustin Lee
0dbea6f162
* SecureChatServerHandler should use ChannelGroup where possible
...
* Moved MapBackedSet and its test class to org.jboss.netty.util becuase it's used only there
2010-01-14 11:56:38 +00:00
Trustin Lee
be2991c586
Moved CombinedIterator to org.jboss.netty.channel.group because it's only used there
2010-01-14 11:52:11 +00:00
Trustin Lee
f8de47e2da
Moved CaseIgnoringComparator to org.jboss.nety.handler.codec.http because it is used only by the classes there
2010-01-14 11:49:53 +00:00
Trustin Lee
397107adc0
* Removed unused methods in ThreadLocalRandom
...
* Hide ThreadLocalRandom because it's used by LinkedTransferQueue only
2010-01-14 11:47:43 +00:00
Trustin Lee
55b0bc2c2c
Related issue: NETTY-257 Add the getters and setters for a String and a char[] to ChannelBuffer
...
* Added getString() and readString()
* Renamed toString(int, int, Charset) to getString(...)
* Removed some toString() methods which were added in the previous alpha releases - I will add an alternative method later
2010-01-14 11:44:11 +00:00
Trustin Lee
8a574a7eb6
Removed the two unnecessary methods - CharBuffer implements CharSequence already
2010-01-14 09:49:02 +00:00
Trustin Lee
e1c2c453c5
Removed unnecessary empty lines in the program listing
2010-01-14 03:38:43 +00:00
Trustin Lee
1313ca5b17
Updated the getting started guide to avoid user confusion on pipeline configuration
2010-01-14 03:31:35 +00:00
Trustin Lee
3b5dd3676e
More red tapes in the documentations
2010-01-14 02:59:40 +00:00
Trustin Lee
48f74e7cd6
Updated all examples to use ChannelPipelineFactory instead of the default pipeline
2010-01-14 02:57:42 +00:00
Trustin Lee
f67b06a931
Updated Javadoc about Bootstrap.pipeline / pipelineFactory properties so that users don't make mistake
2010-01-14 01:53:26 +00:00
Trustin Lee
4ab3e248e7
A little bit of documentation
2010-01-09 12:12:50 +00:00
Trustin Lee
f67de23214
Javadoc
2010-01-09 12:00:24 +00:00
Trustin Lee
9525717475
Package description
2010-01-09 11:37:05 +00:00
Trustin Lee
1142a1aa06
Fixed a cosmetic problem in NioDatagramWorker.read() - In some platform, ClosedChannelException is raised on DatagramChannel.receive() depending on timing, and it's safe to ignore.
2010-01-09 08:54:21 +00:00
Trustin Lee
9f12398073
Fixed NotYetConnectedException
2010-01-09 08:44:32 +00:00
Trustin Lee
052a109bc9
Fixed an assertion error where NioSocketChannel.setConnected() is called on a closed channel
2010-01-09 08:38:12 +00:00
Trustin Lee
41af2d111e
Added assertion message
2010-01-09 08:34:22 +00:00
Trustin Lee
4ef936bea1
Reverted back previous check-in related with state update, which seems unnecessary
2010-01-09 08:21:28 +00:00
Trustin Lee
0acffadd29
Replaced flag update methods with simple assignment
2010-01-09 07:57:18 +00:00
Trustin Lee
4668cb792e
Update the state flag if read or write fails
2010-01-09 07:53:23 +00:00
Trustin Lee
60d3502ba1
Removed the lock aquisition against SocketChannel when isConnected() and isBound() is called, because it causes unnecessary contention
2010-01-09 06:38:14 +00:00
Trustin Lee
c8fc3a1135
* Fixed a bug where a user can break Netty when he or she calls setSuccess() on AbstractChannel.closeFuture
...
* UnfailingChannelFuture is not used anymore - deleting
2010-01-09 05:40:40 +00:00
Trustin Lee
e2086cb754
Fixed a potential bug where close future might not be notified
2010-01-09 05:39:23 +00:00
Trustin Lee
d924439330
Sorted cases in switch statements just in case compiler makes a mistake
2010-01-09 05:38:34 +00:00
Trustin Lee
9c0e9e1780
Workaround for a compiler bug (unsorted switch cases)
2010-01-09 05:30:39 +00:00
Trustin Lee
a1d7a75ff4
Line wrap at 80
2010-01-09 00:52:20 +00:00
Trustin Lee
6e228216b4
better documentation
2010-01-08 23:12:00 +00:00
Trustin Lee
a8d9e044d2
17 -> BUCKET_SIZE
2010-01-08 14:11:18 +00:00
Trustin Lee
4999fabbcc
NPE check
2010-01-08 13:29:39 +00:00
Trustin Lee
d7be7be552
Initial check-in of the WebSocket implementation and its example
2010-01-08 08:45:56 +00:00
Trustin Lee
9f8fa65a14
* Use HttpRequest.isKeepAlive() instead of long conditionals
...
* Use HttpChunkAggregator because we don't want to complicate the example
2010-01-08 08:33:48 +00:00
Trustin Lee
f926c0adc0
Use HttpRequest.isKeepAlive() instead of long conditionals
2010-01-08 08:31:52 +00:00
Trustin Lee
4ede085edc
* Replaced TreeMap with custom linked hash map for storing HTTP headers
...
* Added HttpMessage.getHeaders() and HttpChunkTrailer.getHeaders()
2010-01-08 08:29:37 +00:00
Trustin Lee
58086a865f
Code clean up
2010-01-07 09:19:19 +00:00
Trustin Lee
46e9fe364a
Fixed issue: NETTY-272 HttpMessageEncoder should not prepend/append extra data around HttpChunk content if Transfer-Encoding is not chunked.
...
* OneToOneEncoder should ignore null because HttpMessageEncoder returns null when HttpChunk.isLast() is true.
2010-01-07 09:08:15 +00:00
Trustin Lee
661acd24c8
Fixed issue: NETTY-272 HttpMessageEncoder should not prepend/append extra data around HttpChunk content if Transfer-Encoding is not chunked.
...
* HttpMessageEncoder now does not add any extra data around HttpChunk content if Transfer-Encoding is not 'chunked'
* Moved the utility code that checks the existance of 'Transfer-Encoding: chunked' to HttpCodecUtil so that both HttpMessageEncoder and DefaultHttpMessage can use it
2010-01-07 09:05:38 +00:00
Trustin Lee
491baa0c7b
Added the header constants related with WebSocket
2010-01-07 07:57:14 +00:00
Trustin Lee
bda5887238
Added Channels.pipeline(ChannelHandler...)
2010-01-07 06:41:15 +00:00
Trustin Lee
d26dc2791f
Added a FIXME marker for StaticChannelPipeline
2010-01-07 05:44:44 +00:00
Trustin Lee
0596aaac48
Extracted int-to-string conversion to ConversionUtil
2010-01-07 05:33:50 +00:00
Trustin Lee
bfc3b3999d
Educational information about UDP packet length limitation
2010-01-06 12:13:40 +00:00
Trustin Lee
96da66960a
Fixed a bug: NETTY-270 DatagramChannelConfig.setOption("receiveBufferSizePredictorFactory",..) does not work.
...
* Added a missing if statement
2010-01-06 12:03:18 +00:00
Trustin Lee
6dcc714704
Indentation
2009-12-30 03:20:22 +00:00
Trustin Lee
aae6dce046
Indentation
2009-12-30 03:14:50 +00:00
Trustin Lee
7036654647
* Resolved issue: NETTY-269 (Add ChannelBuffers.copiedBuffer() that accepts char[], CharBuffer, and CharSequence)
...
* Rewrote toString() and copiedBuffer() implementation
* Removed unnecessary methods in CharsetUtil
2009-12-29 07:24:24 +00:00
Trustin Lee
33766a1f4f
Removed the deprecated tests
2009-12-29 05:54:38 +00:00
Trustin Lee
24b59bbfa9
Resolved issue: NETTY-268 (Use Charset instead of String to represent a character set.)
...
* Replaced String charsetName with Charset
* Added o.j.n.util.CharsetUtil
2009-12-29 05:52:00 +00:00
Trustin Lee
55078d87bd
Documentation
2009-12-29 03:07:20 +00:00
Trustin Lee
a07d24ec3e
Fixed issue: NETTY-267 ChannelGroupFuture.iterator() should iterate in the order where the I/O actually occurred.
...
* Replaced HashMap with LinkedHashMap in DefaultChannelGroup and DefaultChannelGroupFuture
2009-12-29 02:29:41 +00:00
Trustin Lee
0314234a41
Spacing
2009-12-29 01:34:00 +00:00
Trustin Lee
437cc0211c
'\n' -> "\r\n"
2009-12-24 03:18:00 +00:00
Trustin Lee
3ff8cd46c9
* Backported LinkedTransferQueue from the latest upstream revision (1.71)
...
** Replaced the use of sun.misc.Unsafe with Atomic*FieldUpdater
** Added ThreadLocalRandom
2009-12-24 03:10:34 +00:00
Trustin Lee
c7e2562f1c
Fixed issue: NETTY-265 NIO datagram transport should not close the channel on write failure
2009-12-22 04:38:34 +00:00
Trustin Lee
974a18568a
Backported the changes (~ 1.44) in LinkedTransferQueue from the upstream
2009-12-21 08:51:11 +00:00
Trustin Lee
eb575430c2
If parentHandler is specified, ServerBootstrap should not use StaticChannelPipeline because the parentHandler might want to manipulate the pipeline
2009-12-18 06:22:08 +00:00
Trustin Lee
64f0a931a4
Reverting back the previous change - some codecs might manipulate the pipeline dynamically
2009-12-18 06:17:59 +00:00
Trustin Lee
553f8cf1e9
Resolved issue: NETTY-262 Static ChannelPipeline implementation
...
* Added StaticChannelPipeline
* Changed all Bootstrap implementations to work with StaticChannelPipeline
* Changed ServerBootstrap and AbstractCodecEmbedder to leverage StaticChannelPipeline
* StackTraceSimplifier should recognize StaticChannelPipeline
2009-12-18 06:03:37 +00:00
Trustin Lee
9951e19573
Null check
2009-12-17 10:57:57 +00:00
Trustin Lee
15aded0df7
* More documentation for developers
2009-12-17 10:21:34 +00:00
Trustin Lee
65634bda11
* Better documentation for developers
...
* Fixed a bug where a channelOpen event is swallowed
2009-12-17 10:19:09 +00:00
Trustin Lee
3fcfc910e1
IdleStateHandler.initialize() and ReadTimeoutHandler.initialize() must not be called if their pipeline is not attached yet. Otherwise the timeout might occur even before the connection is established.
2009-12-17 10:14:22 +00:00
Trustin Lee
2bf4dfcfb9
More Javadoc for LifeCycleAwareChannelHandler
2009-12-17 09:43:45 +00:00
Trustin Lee
d06a6285ea
Fixed a broken Javadoc link
2009-12-17 09:23:02 +00:00
Trustin Lee
fd3bcedbbf
At least timestamps must be updated on channelOpen
2009-12-17 09:16:52 +00:00
Trustin Lee
ba17621c01
IdleStateHandler and ReadTimeoutHandler don't need to override channelOpen anymore because the contract of LifeCycleAwareChannelHandler has been changed.
2009-12-17 09:13:30 +00:00
Trustin Lee
7048c51898
Fixed Javadoc of LifeCycleAwareChannelHandler
...
* Some handlers (e.g. SslHandler, ZlibEncoder) need to store its context somewhere, and they needed to implement both beforeAdd() and channelOpen() because beforeAdd() is not called if pipeline is not attached. This led to code duplication. To address this issue, ChannelPipeline now always calls the life cycle listeners whether it is attached or not
2009-12-17 09:11:07 +00:00
Trustin Lee
f7606ffc31
Fixed a bug where the first handler's life cycle listener is not called
2009-12-17 09:05:46 +00:00
Trustin Lee
d6facc0b9e
Removed the Javadoc links to the deprecated methods
2009-12-17 08:46:18 +00:00
Trustin Lee
578def7a9b
Fixed issue: NETTY-260 ZlibEncoder.close() and SslHandler.handshake/close() methods do not require a parameter
...
* SslHandler implements LifeCycleAwareChannelHandler to retrieve its context
* SslHandler.handshake() and close() do not need an argument anymore
* Deprecated the old methods
2009-12-17 08:44:38 +00:00