URLLoadInfo* info = (URLLoadInfo*)context;  if (info) { double connectTime; double readTime; PRUint32 httpStatus; PRBool bHTTPURL = PR_FALSE;  info->mTotalTime = PR_Now() - info->mTotalTime;  connectTime = (info->mConnectTime/1000.0)/1000.0; readTime    = ((info->mTotalTime-info->mConnectTime)/1000.0)/1000.0;  nsCOMPtr<nsIHTTPChannel> pHTTPCon(do_QueryInterface(channel)); if (pHTTPCon) { pHTTPCon->GetResponseStatus(&httpStatus); bHTTPURL = PR_TRUE; }  printf("\nFinished loading: %s  Status Code: %x\n", info->Name(), aStatus); if (bHTTPURL) printf("\tHTTP Status: %u\n", httpStatus); if (NS_ERROR_UNKNOWN_HOST == aStatus) { printf("\tDNS lookup failed.\n"); } printf("\tRead: %d bytes.\n", info->mBytesRead); printf("\tTime to connect: %.3f seconds\n", connectTime); printf("\tTime to read: %.3f seconds.\n", readTime); if (readTime > 0.0) { printf("\tThroughput: %.0f bps.\n", (info->mBytesRead*8)/readTime); } else { printf("\tThroughput: REAL FAST!!\n"); } } else { printf("\nFinished loading: UNKNOWN URL. Status Code: %x\n", aStatus); }  gKeepRunning -= 1; return NS_OK;
printf("\n+++ OpenObserver::OnStopRequest (status = %x) +++." "\tContext = %p\n", aStatus, context); return NS_OK;
InputTestConsumer::OnStopRequest(nsIChannel* channel, nsISupports* context,                                 nsresult aStatus, const PRUnichar* aStatusArg){  URLLoadInfo* info = (URLLoadInfo*)context;  if (info) {    double connectTime;    double readTime;    PRUint32 httpStatus;    PRBool bHTTPURL = PR_FALSE;    info->mTotalTime = PR_Now() - info->mTotalTime;    connectTime = (info->mConnectTime/1000.0)/1000.0;    readTime    = ((info->mTotalTime-info->mConnectTime)/1000.0)/1000.0;    nsCOMPtr<nsIHTTPChannel> pHTTPCon(do_QueryInterface(channel));    if (pHTTPCon) {        pHTTPCon->GetResponseStatus(&httpStatus);        bHTTPURL = PR_TRUE;    }    printf("\nFinished loading: %s  Status Code: %x\n", info->Name(), aStatus);    if (bHTTPURL)        printf("\tHTTP Status: %u\n", httpStatus);     if (NS_ERROR_UNKNOWN_HOST == aStatus) {         printf("\tDNS lookup failed.\n");     }    printf("\tRead: %d bytes.\n", info->mBytesRead);    printf("\tTime to connect: %.3f seconds\n", connectTime);    printf("\tTime to read: %.3f seconds.\n", readTime);    if (readTime > 0.0) {      printf("\tThroughput: %.0f bps.\n", (info->mBytesRead*8)/readTime);    } else {      printf("\tThroughput: REAL FAST!!\n");    }  } else {    printf("\nFinished loading: UNKNOWN URL. Status Code: %x\n", aStatus);  }/*  nsCOMPtr<nsIURI> pURI(do_QueryInterface(context));  char* location = nsnull;  if (pURI) {    pURI->GetSpec(&location);  }  printf("\nFinished loading: %s  Status Code: %x\n", location ? location : "UNKNOWN URL", status);  if (location) {    nsCRT::free(location);  }*/  gKeepRunning -= 1;  return NS_OK;}