Message boards :
Number crunching :
BOINC Software, Work Manager's Result states
Message board moderation
Author | Message |
---|---|
Paul D. Buck Send message Joined: 19 Jul 00 Posts: 3898 Credit: 1,158,042 RAC: 0 |
Ok, here we go ... From the file gui_titles.C we have the following list of the states of a work unit that are going to be stored in a variable named g_szMiscItems: char g_szMiscItems[MAX_MISC_STR][256] = { "New", "Running", "Ready to run", "Computation error", // Computation done "Ready to report", // Results uploaded / Files uploaded "Acknowledged", "Error: invalid state", "Completed", "Uploading", "Downloading", "Retry in", "Download failed", "Upload failed", "Suspended" }; with the numbers 0 to 13 for each text item. In wingui_mainwindow.cpp these values are displayed in function: void CMainWindow::UpdateGUI(CLIENT_STATE* pcs) for the Work Tab we have the code: // status switch(re->state) { case RESULT_NEW: strBuf.Format(g_szMiscItems[0]); break; case RESULT_FILES_DOWNLOADING: if (re->ready_to_report) { strBuf.Format(g_szMiscItems[11]); } else { strBuf.Format(g_szMiscItems[9]); } break; case RESULT_FILES_DOWNLOADED: if (at) strBuf.Format(g_szMiscItems[1]); else strBuf.Format(g_szMiscItems[2]); break; case RESULT_COMPUTE_DONE: strBuf.Format(g_szMiscItems[3]); break; break; case RESULT_FILES_UPLOADING: if (re->ready_to_report) { strBuf.Format(g_szMiscItems[12]); } else { strBuf.Format(g_szMiscItems[8]); } break; default: if (re->got_server_ack) strBuf.Format(g_szMiscItems[5]); else if (re->ready_to_report) strBuf.Format(g_szMiscItems[4]); else { strBuf.Format("%s %d", g_szMiscItems[6], re->state); } break; } if (gstate.activities_suspended) { strBuf = CString(g_szMiscItems[13]) + " (" + strBuf + ")"; } if (m_ResultListCtrl.GetItemText(i, 7) != strBuf) m_ResultListCtrl.SetItemText(i, 7, strBuf); Which means that we can see all but state number 7 (Completed), and 10 (Retry in) and why state 10 is left off the work tab when the other transfer states are possible escapes me. Later in this same function we have the update for the transfers tab which uses states 8 through 13 ... The primary selector is "state" with a secondary and tertiary selectors of ready_to_report and got_server_ack. Now my problem is that I have not been able to find the logic that transitions the WU through the states and of the 14 possible transitions the only one I am sure of is state 13 (Suspended; mostly because I forced it last night). I would have thought that after the WU was done we would have been in state 7 (Completed) then when the data file has been transferred to the Data Server we would have gone into state 4 (Ready to report) until the scheduling server was contacted and the result reported. Remember, as Tom Lehrer said; base 8 is just like base 10 really ... if you are missing 2 fingers ... |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.