← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 3298: disable "force attempt" on succesful HTTP DLs

 

------------------------------------------------------------
revno: 3298
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Sun 2013-05-19 16:35:33 +0200
message:
  disable "force attempt" on succesful HTTP DLs
modified:
  dcpp/HttpManager.cpp
  dcpp/HttpManager.h


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/HttpManager.cpp'
--- dcpp/HttpManager.cpp	2013-05-16 21:03:53 +0000
+++ dcpp/HttpManager.cpp	2013-05-19 14:35:33 +0000
@@ -75,7 +75,7 @@
 		Lock l(cs);
 		for(auto& conn: conns) {
 			if(conn.c->getUrl() == url) {
-				if(conn.remove) {
+				if(conn.remove && !conn.success) {
 					conn.remove = 0;
 					c = conn.c;
 				}
@@ -107,7 +107,7 @@
 	auto c = new HttpConnection();
 	{
 		Lock l(cs);
-		Conn conn { c, stream ? stream : new StringOutputStream(), !stream, 0 };
+		Conn conn { c, stream ? stream : new StringOutputStream(), !stream, false, 0 };
 		conns.push_back(move(conn));
 	}
 	c->addListener(this);
@@ -177,7 +177,9 @@
 	OutputStream* stream;
 	{
 		Lock l(cs);
-		stream = findConn(c)->stream;
+		auto conn = findConn(c);
+		conn->success = true;
+		stream = conn->stream;
 	}
 	stream->flush();
 	fire(HttpManagerListener::Complete(), c, stream);

=== modified file 'dcpp/HttpManager.h'
--- dcpp/HttpManager.h	2013-05-16 21:03:53 +0000
+++ dcpp/HttpManager.h	2013-05-19 14:35:33 +0000
@@ -54,7 +54,7 @@
 	void shutdown();
 
 private:
-	struct Conn { HttpConnection* c; OutputStream* stream; bool manageStream; uint64_t remove; };
+	struct Conn { HttpConnection* c; OutputStream* stream; bool manageStream; bool success; uint64_t remove; };
 
 	friend class Singleton<HttpManager>;