|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.apache.manifoldcf.crawler.connectors.rss.ThrottledFetcher.ThrottledConnection
protected static class ThrottledFetcher.ThrottledConnection
This class represents an established connection to a URL.
| Nested Class Summary | |
|---|---|
protected static class |
ThrottledFetcher.ThrottledConnection.ExecuteMethodThread
|
| Field Summary | |
|---|---|
protected org.apache.commons.httpclient.MultiThreadedHttpConnectionManager |
connectionManager
The connection pool (max size 1) |
protected int |
connectionTimeoutMilliseconds
Connection timeout in milliseconds |
protected ThrottledFetcher.DataSession |
dataSession
Hack added to record all access data from current crawler |
protected long |
fetchCounter
The current bytes in the current fetch |
protected org.apache.commons.httpclient.HttpMethodBase |
fetchMethod
The method object |
protected java.lang.String |
fetchType
The kind of fetch we are doing |
protected int |
maxOpenConnectionsPerServer
The maximum open connections per server |
protected double |
minimumMillisecondsPerBytePerServer
The connection bandwidth we want |
protected long |
minimumMillisecondsPerFetchPerServer
The minimum time between fetches |
protected java.lang.String |
myUrl
The current URL being fetched |
protected ThrottledFetcher.Server |
server
The server object we use to track connections and fetches. |
protected long |
startFetchTime
The start-fetch time |
protected int |
statusCode
The status code fetched, if any |
protected java.lang.Throwable |
throwable
The error trace, if any |
| Fields inherited from interface org.apache.manifoldcf.crawler.connectors.rss.IThrottledConnection |
|---|
_rcsid, FETCH_BAD_URI, FETCH_CIRCULAR_REDIRECT, FETCH_IO_ERROR, FETCH_NOT_TRIED, FETCH_SEQUENCE_ERROR, FETCH_UNKNOWN_ERROR, STATUS_NOCHANGE, STATUS_OK, STATUS_PAGEERROR, STATUS_SITEERROR |
| Constructor Summary | |
|---|---|
ThrottledFetcher.ThrottledConnection(ThrottledFetcher.Server server,
double minimumMillisecondsPerBytePerServer,
int maxOpenConnectionsPerServer,
long minimumMillisecondsPerFetchPerServer,
int connectionTimeoutMilliseconds,
int connectionLimit)
Constructor. |
|
| Method Summary | |
|---|---|
void |
beginFetch(java.lang.String fetchType)
Begin the fetch process. |
void |
close()
Close the connection. |
void |
doneFetch(org.apache.manifoldcf.crawler.interfaces.IVersionActivity activities)
Done with the fetch. |
int |
executeFetch(java.lang.String protocol,
int port,
java.lang.String urlPath,
java.lang.String userAgent,
java.lang.String from,
java.lang.String proxyHost,
int proxyPort,
java.lang.String proxyAuthDomain,
java.lang.String proxyAuthUsername,
java.lang.String proxyAuthPassword,
java.lang.String lastETag,
java.lang.String lastModified)
Execute the fetch and get the return code. |
java.io.InputStream |
getResponseBodyStream()
Get the response input stream. |
int |
getResponseCode()
Get the http response code. |
java.lang.String |
getResponseHeader(java.lang.String headerName)
Get a specified response header, if it exists. |
void |
logFetchCount(int count)
Log the fetch of a number of bytes. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected double minimumMillisecondsPerBytePerServer
protected int maxOpenConnectionsPerServer
protected long minimumMillisecondsPerFetchPerServer
protected ThrottledFetcher.Server server
protected org.apache.commons.httpclient.HttpMethodBase fetchMethod
protected long startFetchTime
protected java.lang.Throwable throwable
protected java.lang.String myUrl
protected int statusCode
protected java.lang.String fetchType
protected long fetchCounter
protected org.apache.commons.httpclient.MultiThreadedHttpConnectionManager connectionManager
protected int connectionTimeoutMilliseconds
protected ThrottledFetcher.DataSession dataSession
| Constructor Detail |
|---|
public ThrottledFetcher.ThrottledConnection(ThrottledFetcher.Server server,
double minimumMillisecondsPerBytePerServer,
int maxOpenConnectionsPerServer,
long minimumMillisecondsPerFetchPerServer,
int connectionTimeoutMilliseconds,
int connectionLimit)
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.core.interfaces.ManifoldCFException| Method Detail |
|---|
public void beginFetch(java.lang.String fetchType)
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
beginFetch in interface IThrottledConnectionfetchType - is a short descriptive string describing the kind of fetch being requested. This
is used solely for logging purposes.
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionpublic void logFetchCount(int count)
public int executeFetch(java.lang.String protocol,
int port,
java.lang.String urlPath,
java.lang.String userAgent,
java.lang.String from,
java.lang.String proxyHost,
int proxyPort,
java.lang.String proxyAuthDomain,
java.lang.String proxyAuthUsername,
java.lang.String proxyAuthPassword,
java.lang.String lastETag,
java.lang.String lastModified)
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException,
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
executeFetch in interface IThrottledConnectionprotocol - is the protocol to use to perform the access, e.g. "http"port - is the port to use to perform the access, where -1 means "use the default"urlPath - is the path part of the url, e.g. "/robots.txt"userAgent - is the value of the userAgent header to use.from - is the value of the from header to use.proxyHost - is the proxy host, or null if none.proxyPort - is the proxy port, or -1 if none.proxyAuthDomain - is the proxy authentication domain, or null.proxyAuthUsername - is the proxy authentication user name, or null.proxyAuthPassword - is the proxy authentication password, or null.lastETag - is the requested lastETag header value.lastModified - is the requested lastModified header value.
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
public int getResponseCode()
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException,
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
getResponseCode in interface IThrottledConnectionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
public java.io.InputStream getResponseBodyStream()
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException,
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
getResponseBodyStream in interface IThrottledConnectionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
public java.lang.String getResponseHeader(java.lang.String headerName)
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException,
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
getResponseHeader in interface IThrottledConnectionheaderName - is the name of the header.
org.apache.manifoldcf.core.interfaces.ManifoldCFException
org.apache.manifoldcf.agents.interfaces.ServiceInterruption
public void doneFetch(org.apache.manifoldcf.crawler.interfaces.IVersionActivity activities)
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
doneFetch in interface IThrottledConnectionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
public void close()
throws org.apache.manifoldcf.core.interfaces.ManifoldCFException
close in interface IThrottledConnectionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||