summaryrefslogtreecommitdiff
path: root/src/HttpInitiateConnectionCommand.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-12-09 21:49:00 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-12-09 21:49:00 +0900
commit3d0764eb9d74d8a65517f089926abba531670e46 (patch)
treea43a502964e01a51335229d259a1aa37831de977 /src/HttpInitiateConnectionCommand.h
parent31ec5ddf92d9f21ad3db5721f9680dcdc03fbd65 (diff)
Added comment.
Diffstat (limited to 'src/HttpInitiateConnectionCommand.h')
-rw-r--r--src/HttpInitiateConnectionCommand.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/HttpInitiateConnectionCommand.h b/src/HttpInitiateConnectionCommand.h
index 0b1d1e1d..0d732aee 100644
--- a/src/HttpInitiateConnectionCommand.h
+++ b/src/HttpInitiateConnectionCommand.h
@@ -39,6 +39,27 @@
namespace aria2 {
+// HttpInitiateConnectionCommand determins remote host to connect and
+// resolves IP address from that hostname and creates subsequent
+// command. Usually, remote host is the host in URI. If proxy is
+// used, remote host becomes proxy server. This command searches
+// pooled socket using resolved IP addresses and use pooled socket if
+// available. The following chart shows what Command is followed
+// after this command based on conditions.
+//
+// HttpInitiateConnectionCommand
+// |
+// | proxy is used?
+// +----------------+
+// | |
+// | | pooled socket?
+// | +------------> HttpRequestCommand
+// | | tunnel?
+// | +------------> HttpProxyRequestCommand
+// | | otherwise
+// | +------------> HttpRequestCommand
+// | direct connection
+// +-----------------------------> HttpRequestCommand
class HttpInitiateConnectionCommand : public InitiateConnectionCommand {
protected:
virtual Command* createNextCommand