This removes the needless Comm::ConnectionList* parameter to the PSC
(Peer Select callback) function.

The callee state object (data) of PSC is the original owner of the
vector "list" being returned so always has direct access to it as a
member variable.

Amos
=== modified file 'src/FwdState.cc'
--- src/FwdState.cc     2014-03-31 06:57:27 +0000
+++ src/FwdState.cc     2014-04-02 10:23:34 +0000
@@ -493,7 +493,7 @@
 /**** CALLBACK WRAPPERS 
************************************************************/
 
 static void
-fwdPeerSelectionCompleteWrapper(Comm::ConnectionList * unused, ErrorState 
*err, void *data)
+fwdPeerSelectionCompleteWrapper(ErrorState *err, void *data)
 {
     FwdState *fwd = (FwdState *) data;
     if (err)

=== modified file 'src/PeerSelectState.h'
--- src/PeerSelectState.h       2014-02-10 17:52:49 +0000
+++ src/PeerSelectState.h       2014-04-02 10:21:42 +0000
@@ -45,7 +45,7 @@
 class StoreEntry;
 class ErrorState;
 
-typedef void PSC(Comm::ConnectionList *, ErrorState *, void *);
+typedef void PSC(ErrorState *, void *);
 
 void peerSelect(Comm::ConnectionList *, HttpRequest *, AccessLogEntry::Pointer 
const&, StoreEntry *, PSC *, void *data);
 void peerSelectInit(void);

=== modified file 'src/peer_select.cc'
--- src/peer_select.cc  2014-02-02 01:24:53 +0000
+++ src/peer_select.cc  2014-04-02 10:20:22 +0000
@@ -307,7 +307,7 @@
 
     void *cbdata;
     if (cbdataReferenceValidDone(psstate->callback_data, &cbdata)) {
-        callback(psstate->paths, psstate->lastError, cbdata);
+        callback(psstate->lastError, cbdata);
         psstate->lastError = NULL; // FwdState has taken control over the 
ErrorState object.
     }
 

=== modified file 'src/tunnel.cc'
--- src/tunnel.cc       2014-02-21 10:46:19 +0000
+++ src/tunnel.cc       2014-04-02 10:35:47 +0000
@@ -957,11 +957,12 @@
 }
 
 static void
-tunnelPeerSelectComplete(Comm::ConnectionList *peer_paths, ErrorState *err, 
void *data)
+tunnelPeerSelectComplete(ErrorState *err, void *data)
 {
     TunnelStateData *tunnelState = (TunnelStateData *)data;
+    assert(cbdataReferenceValid(tunnelState));
 
-    if (peer_paths == NULL || peer_paths->size() < 1) {
+    if (tunnelState->serverDestinations.empty()) {
         debugs(26, 3, HERE << "No paths found. Aborting CONNECT");
         if (!err) {
             err = new ErrorState(ERR_CANNOT_FORWARD, 
Http::scServiceUnavailable, tunnelState->request.getRaw());
@@ -982,8 +983,8 @@
     tunnelState->serverDestinations[0]->nfmark = 
GetNfmarkToServer(tunnelState->request.getRaw());
 #endif
 
-    debugs(26, 3, HERE << "paths=" << peer_paths->size() << ", p[0]={" << 
(*peer_paths)[0] << "}, serverDest[0]={" <<
-           tunnelState->serverDestinations[0] << "}");
+    debugs(26, 3, "paths=" << tunnelState->serverDestinations.size() <<
+           ", serverDest[0]={" << tunnelState->serverDestinations[0] << "}");
 
     AsyncCall::Pointer call = commCbCall(26,3, "tunnelConnectDone", 
CommConnectCbPtrFun(tunnelConnectDone, tunnelState));
     Comm::ConnOpener *cs = new 
Comm::ConnOpener(tunnelState->serverDestinations[0], call, 
Config.Timeout.connect);

Reply via email to