Instead: declare a static const instance (whose data members are zero)
and copy that.
This avoid the error-prone need to assign each member,
and it works even if there are virtual function tables.
(usually in a static variable called "last_time")
of the last time we did something,
and we only do it again when now - last_time exceeds some interval.
Example: sending heartbeat messages to apps.
Problem: if the system clock is decreased by X,
we won't do any of these actions are time X,
making it appear that the client is frozen.
Solution: when we detect that the system clock has decreased,
set a global var "clock_change" for 1 iteration of the polling loop,
and disable these time checks if clock_change is set.
(which won't parse a double as an int)
revealed a type mismatch in FILE_TRANSFER::next_request_time
between client and server.
svn path=/trunk/boinc/; revision=25125
clear project-level upload and download backoffs,
as well as RPC and individual xfer backoffs.
This was an oversight.
svn path=/trunk/boinc/; revision=24621
Add parsed_tag and is_tag to the class,
so that parsing functions don't need to declare them
and pass them around.
- Complete the task of using XML_PARSER as the argument
to all parsing functions.
(Internally, many of these functions still use the old XML parser;
that's the next step.)
svn path=/trunk/boinc/; revision=23978
- client: remove once-per-week limit for client-generated notices;
need to show "network connection required" more often
- client: when remove "network conn required" notice
(because now have conn)
set the flag that says complete notice list is being sent
- client: if RSS feed fetch returns <error_num>,
show the corresponding message rather than "XML parse error"
svn path=/trunk/boinc/; revision=23063
attempt a follow-up reference site check if the proxy server name
changes. This may mean that'll it will be the second or third connection
attempt before the CC starts using the new proxy information.
client/
net_stats.cpp
sysmon_win.cpp
svn path=/trunk/boinc/; revision=22081
(contacting google.com and possibly alerting the user)
for "background" HTTP ops. These include:
- periodic account manager requests
- periodic notice RSS feed fetches
- periodic fetch of project list
- periodic fetch of current client version
svn path=/trunk/boinc/; revision=22037
Source of proxy info (descending priority)
- GUI RPC (Manager or boinccmd)
This and only this is saved in state file.
If neither HTTP nor SOCKS server name present,
this is viewed as not present
- environment vars
- cc_config.xml
Show sources of proxy info in message log.
If one is present but overridden, show a message to that effect.
This fixes a bug where someone had a proxy info env var and
forgot about it.
They got an erroneous message saying no proxy was being used.
svn path=/trunk/boinc/; revision=19785
- client: when autoproxy detection is in progress don't attempt to use
old values
- client: user defined proxies should take presidence over automatically
detected ones.
- lib: Re-implement the assignment operator for proxy_info, http_curl.cpp
uses it to clone the proxy information for each http op. See set_proxy();
client/
client_state.cpp
http_curl.cpp
net_stats.cpp
lib/
proxy_info.cpp, .h
svn path=/trunk/boinc/; revision=18971
During the first pass we learned that the whole process of
proxy detection on Win XP machines could take a few seconds
even with no proxies to be detected, now the proxy detection
code is executed in the same thread that is monitoring for
power change events.
client/
cs_cmdline.cpp
http_curl.cpp
http_curl.h
http_curl_win.h
net_stats.cpp
sysmon_win.cpp, .h
lib/
parse.cpp, .h
proxy_info.cpp, .h
svn path=/trunk/boinc/; revision=18819
don't skip the reference site check.
Instead, defer the reference site check until 30 secs after startup.
Also, if during this interval (when the check has been requested
but not started) return net status as LOOKUP_PENDING
svn path=/trunk/boinc/; revision=18760
check was in progress, I missed it through my first pass
through the manager code while trying to debug the proxy problem
get_cc_config returns NETWORK_STATUS_LOOKUP_PENDING which
then causes the manager to call get_cc_status again.
client/
gui_rpc_server_ops.cpp
net_stats.cpp, .h
svn path=/trunk/boinc/; revision=18743
return ERR_IN_PROGRESS is the reference site check is in progress.
This hopefully fixes a bug where:
- the user is connected via a proxy
- the manager is run for the first time, and an attach is tried
- the get_project_config.php fetch fails because no proxy config
- the manager gets the CC_STATUS before the ref site check has
finished, so it thinks there's a network connection,
and it doesn't ask the user for proxy info
svn path=/trunk/boinc/; revision=18712
<network_test_url>: where to go to see if network is up
<client_version_check_url>: where to get list of client versions
<client_download_url>: where to direct user to get new version
- manager: some different text for WCG version
svn path=/trunk/boinc/; revision=16208