server_state <> 5) return "---"; switch($result->outcome) { case 1: return $string_to_show; //Success case 2: return "---"; //Couldn't send case 3: return $string_to_show; //Client error case 4: return "---"; //No reply case 5: return "---"; //Didn't need case 6: return "---"; // Validate error default: return $string_to_show; } } function result_granted_credit_string($result, $string_to_show) { if ($result->server_state <> 5) return "---"; switch($result->outcome) { case 1: //Success switch ($result->validate_state) { case 0: case 4: return "pending"; } return $string_to_show; case 2: return "---"; //Couldn't send case 3: return "---"; //Client error case 4: return "---"; //No reply case 5: return "---"; //Didn't need case 6: return "---"; //Validate error default: return $string_to_show; } } function result_server_state_string($s) { switch($s) { case 1: return "Inactive"; case 2: return "Unsent"; case 3: return "Unsent"; case 4: return "In Progress"; case 5: return "Over"; } return "Unknown"; } function result_outcome_string($s) { switch($s) { case 1: return "Success"; case 2: return "Couldn't send"; case 3: return "Client error"; case 4: return "No reply"; case 5: return "Didn't need"; case 6: return "Validate error"; } return "Unknown"; } function result_client_state_string($s) { switch($s) { case 0: return "New"; case 1: return "Downloading"; case 2: return "Downloaded"; case 3: return "Computing"; case 4: return "Uploading"; case 5: return "Done"; } } function validate_state_str($s) { switch($s) { case 0: return "Initial"; case 1: return "Valid"; case 2: return "Invalid"; case 3: return "WU error - check skipped"; case 4: return "Checked, but no consensus yet"; } return "Unknown"; } function result_table_start($show_wu_link, $show_host_link, $show_result_link) { start_table(); echo " "; if ($show_result_link) { echo "Result ID
click for details\n"; } if ($show_wu_link) { echo "Work unit ID
click for details\n"; } if ($show_host_link) { echo "Host\n"; } echo " Sent Received or Deadline Server state
explain Outcome
explain Client state
explain CPU time (sec) claimed credit granted credit "; } function show_result_row( $result, $show_wu_link, $show_host_link, $show_result_link ) { $s = time_str($result->sent_time); // if result has been received, show the received time, else show the reporting // deadline in GREEN if in the future and in RED if in the past. if ($result->received_time) $r = time_str($result->received_time); else { $timenow=time(); if ($result->report_deadline>$timenow) { $r = "" . time_str($result->report_deadline) . ""; } else { $r = "" . time_str($result->report_deadline) . ""; } } $ss = result_server_state_string($result->server_state); $out = result_outcome_string($result->outcome); $cl = result_client_state_string($result->client_state); $result_claimed_credit = format_credit($result->claimed_credit); $result_granted_credit = format_credit($result->granted_credit); $result_claimed_credit = result_claimed_credit_string($result, $result_claimed_credit); $result_granted_credit = result_granted_credit_string($result, $result_granted_credit); echo " "; if ($show_result_link) { echo "id>$result->id\n"; } if ($show_wu_link) { echo "workunitid>$result->workunitid\n"; } if ($show_host_link) { echo "", host_link($result->hostid), "\n"; } if ($result->server_state <> 5) { $cpu_time = "---"; } else { $cpu_time = number_format($result->cpu_time, 2); } echo " $s $r $ss $out $cl $cpu_time $result_claimed_credit $result_granted_credit "; } function version_string($version_num) { if (!$version_num) { return '---'; } else { return sprintf("%.2f", $version_num/100); } } function exit_status_string($result) { $x = $result->exit_status; if ($x == 0) { $y = parse_element($result->stderr_out, ""); if ($y) { $x = (int)$y; } } return sprintf("%d (0x%x)", $x, $x); } function server_state_string($s) { switch($s) { case 1: return "Inactive"; case 2: return "Unsent"; case 4: return "In Progress"; case 5: return "Over"; } return "Unknown"; } function outcome_string($s) { switch($s) { case 1: return "Success"; case 2: return "Couldn't send"; case 3: return "Client error"; case 4: return "No reply"; case 5: return "Didn't need"; } return "Unknown"; } function client_state_string($s) { switch($s) { case 0: return "New"; case 1: return "Downloading"; case 2: return "Downloaded"; case 3: return "Computing"; case 4: return "Uploading"; case 5: return "Done"; } return "Unknown"; } function show_result($result) { start_table(); row2("Result ID", $result->id); row2("Name", $result->name); row2("Workunit", "workunitid>$result->workunitid"); row2("Created", time_str($result->create_time)); row2("Sent", time_str($result->sent_time)); row2("Received", time_str($result->received_time)); row2("Server state", server_state_string($result->server_state)); row2("Outcome", outcome_string($result->outcome)); row2("Client state", client_state_string($result->client_state)); row2("Exit status", exit_status_string($result)); row2("Host ID", host_link($result->hostid)); row2("Report deadline", time_str($result->report_deadline)); row2("CPU time", $result->cpu_time); row2("stderr out", "
".htmlspecialchars($result->stderr_out)."
"); row2("Validate state", validate_state_str($result->validate_state)); row2("Claimed credit", $result->claimed_credit); row2("Granted credit", $result->granted_credit); row2("application version", version_string($result->app_version_num)); end_table(); } ?>