You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2009/01/24 12:35:38 UTC
svn commit: r737333 - in /httpcomponents/httpcore/trunk:
module-main/src/main/java/org/apache/http/impl/io/
module-nio/src/main/java/org/apache/http/impl/nio/codecs/
module-nio/src/main/java/org/apache/http/impl/nio/reactor/
Author: olegk
Date: Sat Jan 24 11:35:37 2009
New Revision: 737333
URL: http://svn.apache.org/viewvc?rev=737333&view=rev
Log:
Javadoc updates
Added:
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/package.html
Modified:
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedInputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedOutputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthInputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthOutputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityInputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityOutputStream.java
httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkDecoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkEncoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityDecoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityEncoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java
httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSessionHandler.java
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedInputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedInputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedInputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedInputStream.java Sat Jan 24 11:35:37 2009
@@ -43,10 +43,10 @@
import org.apache.http.util.ExceptionUtils;
/**
- * Implements chunked transfer coding.
- * It transparently coalesces chunks of a HTTP stream that uses chunked
- * transfer coding. After the stream is read to the end, it provides access
- * to the trailers, if any.
+ * Implements chunked transfer coding. The content is received in small chunks.
+ * Entities transferred using this input stream can be of unlimited length.
+ * After the stream is read to the end, it provides access to the trailers,
+ * if any.
* <p>
* Note that this class NEVER closes the underlying stream, even when close
* gets called. Instead, it will read until the "end" of its chunking on
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedOutputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedOutputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedOutputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ChunkedOutputStream.java Sat Jan 24 11:35:37 2009
@@ -37,7 +37,8 @@
import org.apache.http.io.SessionOutputBuffer;
/**
- * Implements chunked transfer coding.
+ * Implements chunked transfer coding. The content is sent in small chunks.
+ * Entities transferred using this output stream can be of unlimited length.
* Writes are buffered to an internal buffer (2048 default size).
* <p>
* Note that this class NEVER closes the underlying stream, even when close
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthInputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthInputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthInputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthInputStream.java Sat Jan 24 11:35:37 2009
@@ -37,7 +37,11 @@
import org.apache.http.io.SessionInputBuffer;
/**
- * Stream that cuts off after a defined number of bytes.
+ * Input stream that cuts off after a defined number of bytes. This class
+ * is used to receive content of HTTP messages where the end of the content
+ * entity is determined by the value of the <code>Content-Length header</code>.
+ * Entities transferred using this stream can be maximum {@link Long#MAX_VALUE}
+ * long.
* <p>
* Note that this class NEVER closes the underlying stream, even when close
* gets called. Instead, it will read until the "end" of its limit on
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthOutputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthOutputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthOutputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/ContentLengthOutputStream.java Sat Jan 24 11:35:37 2009
@@ -37,7 +37,11 @@
import org.apache.http.io.SessionOutputBuffer;
/**
- * An output stream that cuts off after a defined number of bytes.
+ * Output stream that cuts off after a defined number of bytes. This class
+ * is used to send content of HTTP messages where the end of the content entity
+ * is determined by the value of the <code>Content-Length header</code>.
+ * Entities transferred using this stream can be maximum {@link Long#MAX_VALUE}
+ * long.
* <p>
* Note that this class NEVER closes the underlying stream, even when close
* gets called. Instead, the stream will be marked as closed and no further
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityInputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityInputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityInputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityInputStream.java Sat Jan 24 11:35:37 2009
@@ -37,7 +37,10 @@
import org.apache.http.io.SessionInputBuffer;
/**
- * An input stream that reads data without any transformation.
+ * Input stream that reads data without any transformation. The end of the
+ * content entity is demarcated by closing the underlying connection
+ * (EOF condition). Entities transferred using this input stream can be of
+ * unlimited length.
* <p>
* Note that this class NEVER closes the underlying stream, even when close
* gets called. Instead, it will read until the end of the stream (until
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityOutputStream.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityOutputStream.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityOutputStream.java (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/IdentityOutputStream.java Sat Jan 24 11:35:37 2009
@@ -37,7 +37,10 @@
import org.apache.http.io.SessionOutputBuffer;
/**
- * An output stream that writes data without any transformation.
+ * Output stream that writes data without any transformation. The end of
+ * the content entity is demarcated by closing the underlying connection
+ * (EOF condition). Entities transferred using this input stream can be of
+ * unlimited length.
* <p>
* Note that this class NEVER closes the underlying stream, even when close
* gets called. Instead, the stream will be marked as closed and no further
Modified: httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html (original)
+++ httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html Sat Jan 24 11:35:37 2009
@@ -40,7 +40,7 @@
<br/>
There are implementations of the transport encodings used by HTTP,
-in particular the chunked encoding for
+in particular the chunked coding for
{@link org.apache.http.impl.io.ChunkedOutputStream sending} and
{@link org.apache.http.impl.io.ChunkedInputStream receiving} entities.
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkDecoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkDecoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkDecoder.java Sat Jan 24 11:35:37 2009
@@ -46,6 +46,14 @@
import org.apache.http.protocol.HTTP;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Implements chunked transfer coding. The content is received in small chunks.
+ * Entities transferred using this encoder can be of unlimited length.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public class ChunkDecoder extends AbstractContentDecoder {
private static final int READ_CONTENT = 0;
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkEncoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkEncoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkEncoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/ChunkEncoder.java Sat Jan 24 11:35:37 2009
@@ -40,6 +40,14 @@
import org.apache.http.nio.util.BufferInfo;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Implements chunked transfer coding. The content is sent in small chunks.
+ * Entities transferred using this decoder can be of unlimited length.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+*/
public class ChunkEncoder extends AbstractContentEncoder {
private final CharArrayBuffer lineBuffer;
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestParser.java Sat Jan 24 11:35:37 2009
@@ -33,15 +33,24 @@
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
+import org.apache.http.HttpRequest;
import org.apache.http.HttpRequestFactory;
import org.apache.http.RequestLine;
import org.apache.http.ParseException;
import org.apache.http.message.LineParser;
import org.apache.http.message.ParserCursor;
+import org.apache.http.nio.NHttpMessageParser;
import org.apache.http.nio.reactor.SessionInputBuffer;
import org.apache.http.params.HttpParams;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Default {@link NHttpMessageParser} implementation for {@link HttpRequest}s.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public class HttpRequestParser extends AbstractMessageParser {
private final HttpRequestFactory requestFactory;
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpRequestWriter.java Sat Jan 24 11:35:37 2009
@@ -36,10 +36,18 @@
import org.apache.http.HttpMessage;
import org.apache.http.HttpRequest;
import org.apache.http.message.LineFormatter;
+import org.apache.http.nio.NHttpMessageWriter;
import org.apache.http.nio.reactor.SessionOutputBuffer;
import org.apache.http.params.HttpParams;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Default {@link NHttpMessageWriter} implementation for {@link HttpRequest}s.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public class HttpRequestWriter extends AbstractMessageWriter {
public HttpRequestWriter(final SessionOutputBuffer buffer,
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseParser.java Sat Jan 24 11:35:37 2009
@@ -33,15 +33,24 @@
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
+import org.apache.http.HttpResponse;
import org.apache.http.HttpResponseFactory;
import org.apache.http.StatusLine;
import org.apache.http.ParseException;
import org.apache.http.message.LineParser;
import org.apache.http.message.ParserCursor;
+import org.apache.http.nio.NHttpMessageParser;
import org.apache.http.nio.reactor.SessionInputBuffer;
import org.apache.http.params.HttpParams;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Default {@link NHttpMessageParser} implementation for {@link HttpResponse}s.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public class HttpResponseParser extends AbstractMessageParser {
private final HttpResponseFactory responseFactory;
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/HttpResponseWriter.java Sat Jan 24 11:35:37 2009
@@ -36,10 +36,18 @@
import org.apache.http.HttpMessage;
import org.apache.http.HttpResponse;
import org.apache.http.message.LineFormatter;
+import org.apache.http.nio.NHttpMessageWriter;
import org.apache.http.nio.reactor.SessionOutputBuffer;
import org.apache.http.params.HttpParams;
import org.apache.http.util.CharArrayBuffer;
+/**
+ * Default {@link NHttpMessageWriter} implementation for {@link HttpResponse}s.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public class HttpResponseWriter extends AbstractMessageWriter {
public HttpResponseWriter(final SessionOutputBuffer buffer,
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityDecoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityDecoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityDecoder.java Sat Jan 24 11:35:37 2009
@@ -41,14 +41,19 @@
import org.apache.http.nio.reactor.SessionInputBuffer;
/**
- * Identity decoder implementation.
+ * Content decoder that reads data without any transformation. The end of the
+ * content entity is demarcated by closing the underlying connection
+ * (EOF condition). Entities transferred using this input stream can be of
+ * unlimited length.
+ * <p>
+ * This decoder is optimized to transfer data directly from the underlying
+ * I/O session's channel to a {@link FileChannel}, whenever
+ * possible avoiding intermediate buffering in the session buffer.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
* @author Andrea Selva
*
* @version $Revision$
- *
- * @since 4.0
*/
public class IdentityDecoder extends AbstractContentDecoder
implements FileContentDecoder {
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityEncoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityEncoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityEncoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/IdentityEncoder.java Sat Jan 24 11:35:37 2009
@@ -41,14 +41,19 @@
import org.apache.http.nio.reactor.SessionOutputBuffer;
/**
- * Identity encoder implementation.
+ * Content encoder that writes data without any transformation. The end of
+ * the content entity is demarcated by closing the underlying connection
+ * (EOF condition). Entities transferred using this input stream can be of
+ * unlimited length.
+ * <p>
+ * This decoder is optimized to transfer data directly from
+ * a {@link FileChannel} to the underlying I/O session's channel whenever
+ * possible avoiding intermediate buffering in the session buffer.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
* @author Andrea Selva
*
* @version $Revision$
- *
- * @since 4.0
*/
public class IdentityEncoder extends AbstractContentEncoder
implements FileContentEncoder {
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java Sat Jan 24 11:35:37 2009
@@ -41,7 +41,15 @@
import org.apache.http.nio.reactor.SessionInputBuffer;
/**
- * Content-Length delimited decoder implementation.
+ * Content decoder that cuts off after a defined number of bytes. This class
+ * is used to receive content of HTTP messages where the end of the content
+ * entity is determined by the value of the <code>Content-Length header</code>.
+ * Entities transferred using this stream can be maximum {@link Long#MAX_VALUE}
+ * long.
+ * <p>
+ * This decoder is optimized to transfer data directly from the underlying
+ * I/O session's channel to a {@link FileChannel}, whenever
+ * possible avoiding intermediate buffering in the session buffer.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
* @author Andrea Selva
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.java Sat Jan 24 11:35:37 2009
@@ -41,7 +41,15 @@
import org.apache.http.nio.reactor.SessionOutputBuffer;
/**
- * Content-Length delimited encoder implementation.
+ * Content encoder that cuts off after a defined number of bytes. This class
+ * is used to send content of HTTP messages where the end of the content entity
+ * is determined by the value of the <code>Content-Length header</code>.
+ * Entities transferred using this stream can be maximum {@link Long#MAX_VALUE}
+ * long.
+ * <p>
+ * This decoder is optimized to transfer data directly from
+ * a {@link FileChannel} to the underlying I/O session's channel whenever
+ * possible avoiding intermediate buffering in the session buffer.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
* @author Andrea Selva
Added: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/package.html
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/package.html?rev=737333&view=auto
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/package.html (added)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/codecs/package.html Sat Jan 24 11:35:37 2009
@@ -0,0 +1,48 @@
+<html>
+<head>
+<!--
+/*
+ * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/io/package.html $
+ * $Revision: 567360 $
+ * $Date: 2007-08-19 08:49:21 +0200 (Sun, 19 Aug 2007) $
+ *
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+-->
+</head>
+<body>
+Default implementations for interfaces in
+{@link org.apache.http.io org.apache.http.nio.codecs}.
+
+<br/>
+
+There are implementations of the transport encodings used by HTTP,
+in particular the chunked coding for
+{@link org.apache.http.impl.nio.codecs.ChunkEncoder sending} and
+{@link org.apache.http.impl.nio.codecs.ChunkDecoder receiving} entities.
+
+</body>
+</html>
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java Sat Jan 24 11:35:37 2009
@@ -54,6 +54,8 @@
* with transport layer security capabilities based on the SSL/TLS protocol.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
*/
public class SSLIOSession implements IOSession, SessionBufferStatus {
Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSessionHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSessionHandler.java?rev=737333&r1=737332&r2=737333&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSessionHandler.java (original)
+++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSessionHandler.java Sat Jan 24 11:35:37 2009
@@ -39,11 +39,39 @@
import org.apache.http.params.HttpParams;
+/**
+ * Callback interface that can be used to customize various aspects of
+ * the TLS/SSl protocol.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ *
+ * @version $Revision$
+ */
public interface SSLIOSessionHandler {
+ /**
+ * Triggered when the SSL connection is being initialized. Custom handlers
+ * can use this callback to customize properties of the {@link SSLEngine}
+ * used to establish the SSL session.
+ *
+ * @param sslengine the SSL engine.
+ * @param params HTTP parameters.
+ * @throws SSLException if case of SSL protocol error.
+ */
void initalize(SSLEngine sslengine, HttpParams params)
throws SSLException;
+ /**
+ * Triggered when the SSL connection has been established and initial SSL
+ * handshake has been successfully completed. Custom handlers can use
+ * this callback to verify properties of the {@link SSLSession}.
+ * For instance this would be the right place to enforce SSL cipher
+ * strength, validate certificate chain and do hostname checks.
+ *
+ * @param remoteAddress the remote address of the connection.
+ * @param session newly created SSL session.
+ * @throws SSLException if case of SSL protocol error.
+ */
void verify(SocketAddress remoteAddress, SSLSession session)
throws SSLException;