An entity that releases a connection . More...
A com.good.gd.apache.http.conn.ManagedClientConnection will typically not return a managed entity, but you can replace the unmanaged entity in the response with a managed one.
The following notice applies to the original API on which this API is based, and to its documentation. The documentation of this API has been revised from the original.
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed 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. */
Public Member Functions | |
BasicManagedEntity (HttpEntity entity, ManagedClientConnection conn, boolean reuse) | |
Creates a new managed entity that can release a connection. More... | |
boolean | isRepeatable () |
Tells if the entity is capable to produce its data more than once. More... | |
InputStream | getContent () throws IOException |
Creates a new InputStream object of the entity. More... | |
void | consumeContent () throws IOException |
This method is called to indicate that the content of this entity is no longer required. More... | |
void | writeTo (final OutputStream outstream) throws IOException |
Writes the entity content to the output stream. More... | |
void | releaseConnection () throws IOException |
Releases the connection with the option of keep-alive. More... | |
void | abortConnection () throws IOException |
Releases the connection without the option of keep-alive. More... | |
boolean | eofDetected (InputStream wrapped) throws IOException |
Indicates that EOF is detected. More... | |
boolean | streamClosed (InputStream wrapped) throws IOException |
Indicates that the stream is closed. More... | |
boolean | streamAbort (InputStream wrapped) throws IOException |
Indicates that the stream is aborted. More... | |
Public Member Functions inherited from HttpEntityWrapper | |
HttpEntityWrapper (HttpEntity wrapped) | |
Creates a new entity wrapper. More... | |
boolean | isChunked () |
Tells about chunked encoding for this entity. More... | |
long | getContentLength () |
Tells the length of the content, if known. More... | |
Header | getContentType () |
Obtains the Content-Type header, if known. More... | |
Header | getContentEncoding () |
Obtains the Content-Encoding header, if known. More... | |
boolean | isStreaming () |
Tells whether this entity depends on an underlying stream. More... | |
Protected Member Functions | |
void | releaseManagedConnection () throws IOException |
Releases the connection gracefully. More... | |
Protected Attributes | |
ManagedClientConnection | managedConn |
The connection to release. More... | |
final boolean | attemptReuse |
Whether to keep the connection alive. More... | |
Protected Attributes inherited from HttpEntityWrapper | |
HttpEntity | wrappedEntity |
The wrapped entity. More... | |
BasicManagedEntity | ( | HttpEntity | entity, |
ManagedClientConnection | conn, | ||
boolean | reuse | ||
) |
entity | the entity of which to wrap the content. Note that the argument entity can no longer be used afterwards, since the content will be taken by this managed entity. |
conn | the connection to release |
reuse | whether the connection should be re-used |
boolean isRepeatable | ( | ) |
A repeatable entity's getContent() and writeTo(OutputStream) methods can be called more than once whereas a non-repeatable entity's can not.
Reimplemented from HttpEntityWrapper.
InputStream getContent | ( | ) | throws IOException |
It is a programming error to return the same InputStream object more than once. Entities that are not repeatable will throw an exception if this method is called multiple times.
IOException | if the stream could not be created |
IllegalStateException | if this entity is not repeatable and the stream has already been obtained previously |
Reimplemented from HttpEntityWrapper.
void consumeContent | ( | ) | throws IOException |
All entity implementations are expected to release all allocated resources as a result of this method invocation. Content streaming entities are also expected to dispose of the remaining content, if any. Wrapping entities should delegate this call to the wrapped entity.
This method is of particular importance for entities being received from a connection . The entity needs to be consumed completely in order to re-use the connection with keep-alive.
IOException | if an I/O error occurs. This indicates that connection keep-alive is not possible. |
Reimplemented from HttpEntityWrapper.
void writeTo | ( | final OutputStream | outstream | ) | throws IOException |
outstream | the output stream to write entity content to |
IOException | if an I/O error occurs |
Reimplemented from HttpEntityWrapper.
void releaseConnection | ( | ) | throws IOException |
This is a "graceful" release and may cause IO operations for consuming the remainder of a response entity. Use abortConnection for a hard release. The connection may be reused as specified by the duration.
IOException | in case of an IO problem. The connection will be released anyway. |
Implements ConnectionReleaseTrigger.
void abortConnection | ( | ) | throws IOException |
This is a "hard" release that implies a shutdown of the connection. Use releaseConnection for a graceful release.
IOException | in case of an IO problem. The connection will be released anyway. |
Implements ConnectionReleaseTrigger.
boolean eofDetected | ( | InputStream | wrapped | ) | throws IOException |
wrapped | the underlying stream which has reached EOF |
true
if wrapped
should be closed, false
if it should be left aloneIOException | in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned. |
Implements EofSensorWatcher.
boolean streamClosed | ( | InputStream | wrapped | ) | throws IOException |
This method will be called only if EOF was not detected before closing. Otherwise, eofDetected is called.
wrapped | the underlying stream which has not reached EOF |
true
if wrapped
should be closed, false
if it should be left aloneIOException | in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned. |
Implements EofSensorWatcher.
boolean streamAbort | ( | InputStream | wrapped | ) | throws IOException |
This method will be called only if EOF was not detected before aborting. Otherwise, eofDetected is called.
This method will also be invoked when an input operation causes an IOException to be thrown to make sure the input stream gets shut down.
wrapped | the underlying stream which has not reached EOF |
true
if wrapped
should be closed, false
if it should be left aloneIOException | in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned. |
Implements EofSensorWatcher.
|
protected |
The connection attribute will be nullified. Subsequent invocations are no-ops.
IOException | in case of an IO problem. The connection attribute will be nullified anyway. |
|
protected |
|
protected |