use new config system

This commit is contained in:
David Rose 2004-11-22 18:54:29 +00:00
parent 48c96d0928
commit 381477af9f
2 changed files with 125 additions and 105 deletions

View File

@ -25,105 +25,120 @@
ConfigureDef(config_downloader); ConfigureDef(config_downloader);
NotifyCategoryDef(downloader, ""); NotifyCategoryDef(downloader, "");
// How often we write to disk is determined by this ratio which is ConfigVariableInt downloader_disk_write_frequency
// relative to the downloader-byte-rate (e.g. if disk-write-ratio is 4, ("downloader-disk-write-frequency", 4,
// we will write every 4 seconds if the frequency is 0.2) "How often we write to disk is determined by this ratio which is "
const int downloader_disk_write_frequency = "relative to the downloader-byte-rate (e.g. if disk-write-ratio is 4, "
config_downloader.GetInt("downloader-disk-write-frequency", 4); "we will write every 4 seconds if the frequency is 0.2)");
// We'd like this to be about 1 second worth of download assuming a ConfigVariableInt downloader_byte_rate
// 28.8Kb connection (28.8Kb / 8 = 3600 bytes per second). ("downloader-byte-rate", 3600,
const int downloader_byte_rate = "We'd like this to be about 1 second worth of download assuming a "
config_downloader.GetInt("downloader-byte-rate", 3600); "28.8Kb connection (28.8Kb / 8 = 3600 bytes per second).");
// Frequency of download chunk requests in seconds (or fractions of) ConfigVariableDouble downloader_frequency
// (Estimated 200 msec round-trip to server). ("downloader-frequency", 0.2,
const float downloader_frequency = "Frequency of download chunk requests in seconds (or fractions of) "
config_downloader.GetFloat("downloader-frequency", 0.2); "(Estimated 200 msec round-trip to server).");
const int downloader_timeout = ConfigVariableInt downloader_timeout
config_downloader.GetInt("downloader-timeout", 15); ("downloader-timeout", 15);
const int downloader_timeout_retries = ConfigVariableInt downloader_timeout_retries
config_downloader.GetInt("downloader-timeout-retries", 5); ("downloader-timeout-retries", 5);
const int decompressor_buffer_size = ConfigVariableInt decompressor_buffer_size
config_downloader.GetInt("decompressor-buffer-size", 4096); ("decompressor-buffer-size", 4096);
const float decompressor_frequency = ConfigVariableDouble decompressor_frequency
config_downloader.GetFloat("decompressor-frequency", 0.2); ("decompressor-frequency", 0.2);
const int extractor_buffer_size = ConfigVariableInt extractor_buffer_size
config_downloader.GetInt("extractor-buffer-size", 4096); ("extractor-buffer-size", 4096);
const float extractor_frequency = ConfigVariableDouble extractor_frequency
config_downloader.GetFloat("extractor-frequency", 0.2); ("extractor-frequency", 0.2);
const int patcher_buffer_size = ConfigVariableInt patcher_buffer_size
config_downloader.GetInt("patcher-buffer-size", 4096); ("patcher-buffer-size", 4096);
// Configure this true (the default) to compute the SSL random seed ConfigVariableBool early_random_seed
// early on in the application (specifically, when the first ("early-random-seed", true,
// HTTPClient is created), or false to defer this until it is actually "Configure this true (the default) to compute the SSL random seed "
// needed, causing a delay the first time a https connection is "early on in the application (specifically, when the first "
// attempted. "HTTPClient is created), or false to defer this until it is actually "
const bool early_random_seed = "needed, causing a delay the first time a https connection is "
config_downloader.GetBool("early-random-seed", true); "attempted.");
// Configure this true (the default) to insist on verifying all SSL ConfigVariableBool verify_ssl
// (e.g. https) servers against a known certificate, or false to allow ("verify-ssl", true,
// an unverified connection. This controls the default behavior; the "Configure this true (the default) to insist on verifying all SSL "
// specific behavior for a particular HTTPClient can be adjusted at "(e.g. https) servers against a known certificate, or false to allow "
// runtime with set_verify_ssl(). "an unverified connection. This controls the default behavior; the "
const bool verify_ssl = "specific behavior for a particular HTTPClient can be adjusted at "
config_downloader.GetBool("verify-ssl", true); "runtime with set_verify_ssl().");
// This is the default value for HTTPClient::set_cipher_list(). ConfigVariableString ssl_cipher_list
const string ssl_cipher_list = ("ssl-cipher-list", "DEFAULT",
config_downloader.GetString("ssl-cipher-list", "DEFAULT"); "This is the default value for HTTPClient::set_cipher_list().");
// This specifies the proxy that we will contact for all HTTP ConfigVariableString http_proxy
// connections that don't specify otherwise. ("http-proxy", "",
const string http_proxy = "This specifies the default value for HTTPClient::set_proxy_spec(). "
config_downloader.GetString("http-proxy", ""); "It is a semicolon-delimited list of proxies that we use to contact "
const string http_direct_hosts = "all HTTP hosts that don't specify otherwise. See "
config_downloader.GetString("http-direct-hosts", ""); "set_proxy_spec() for more information.");
const bool http_try_all_direct = ConfigVariableString http_direct_hosts
config_downloader.GetBool("http-try-all-direct", true); ("http-direct-hosts", "",
const string http_proxy_username = "This specifies the default value for HTTPClient::set_direct_host_spec(). "
config_downloader.GetString("http-proxy-username", ""); "It is a semicolon-delimited list of host names that do not require a "
const bool http_proxy_tunnel = "proxy. See set_direct_host_spec() for more information.");
config_downloader.GetBool("http-proxy-tunnel", false); ConfigVariableBool http_try_all_direct
("http-try-all-direct", true,
"This specifies the default value for HTTPClient::set_try_all_direct(). "
"If this is true, a direct connection will always be attempted after an "
"attempt to connect through a proxy fails.");
ConfigVariableString http_proxy_username
("http-proxy-username", "",
"This specifies a default username:password to pass to the proxy.");
ConfigVariableBool http_proxy_tunnel
("http-proxy-tunnel", false,
"This specifies the default value for HTTPChannel::set_proxy_tunnel(). "
"If this is true, we will tunnel through a proxy for all connections, "
"instead of asking the proxy to serve documents normally.");
// This is the default amount of time to wait for a TCP/IP connection ConfigVariableDouble http_connect_timeout
// to be established, in seconds. ("http-connect-timeout", 10.0,
const double http_connect_timeout = "This is the default amount of time to wait for a TCP/IP connection "
config_downloader.GetDouble("http-connect-timeout", 10.0); "to be established, in seconds.");
// This is the default amount of time to wait for the HTTP server (or ConfigVariableDouble http_timeout
// proxy) to finish sending its response to our request, in seconds. ("http-timeout", 20.0,
// It starts counting after the TCP connection has been established "This is the default amount of time to wait for the HTTP server (or "
// (http_connect_timeout, above) and the request has been sent. "proxy) to finish sending its response to our request, in seconds. "
const double http_timeout = "It starts counting after the TCP connection has been established "
config_downloader.GetDouble("http-timeout", 20.0); "(http_connect_timeout, above) and the request has been sent.");
// This is the maximum number of times to try reconnecting to the ConfigVariableInt http_max_connect_count
// server on any one document attempt. This is just a failsafe to ("http-max-connect-count", 10,
// prevent the code from attempting runaway connections; this limit "This is the maximum number of times to try reconnecting to the "
// should never be reached in practice. "server on any one document attempt. This is just a failsafe to "
const int http_max_connect_count = "prevent the code from attempting runaway connections; this limit "
config_downloader.GetInt("http-max-connect-count", 10); "should never be reached in practice.");
// These provide a default client certificate to offer up should an ConfigVariableFilename http_client_certificate_filename
// SSL server demand one. The files references a PEM-formatted file ("http-client-certificate-filename", "",
// that includes a public and private key specification. A "This provides a default client certificate to offer up should an "
// connection-specific certificate may also be specified at runtime on "SSL server demand one. The file names a PEM-formatted file "
// the HTTPClient object, but this will require having a different "that includes a public and private key specification. A "
// HTTPClient object for each differently-certificated connection. "connection-specific certificate may also be specified at runtime on "
const Filename http_client_certificate_filename = "the HTTPClient object, but this will require having a different "
Filename::expand_from(config_downloader.GetString("http-client-certificate-filename", "")); "HTTPClient object for each differently-certificated connection.");
const string http_client_certificate_passphrase =
config_downloader.GetString("http-client-certificate-passphrase", ""); ConfigVariableString http_client_certificate_passphrase
("http-client-certificate-passphrase", "",
"This specifies the passphrase to use to decode the certificate named "
"by http-client-certificate-filename.");
ConfigureFn(config_downloader) { ConfigureFn(config_downloader) {
#ifdef HAVE_SSL #ifdef HAVE_SSL

View File

@ -22,36 +22,41 @@
#include "pandabase.h" #include "pandabase.h"
#include "notifyCategoryProxy.h" #include "notifyCategoryProxy.h"
#include "dconfig.h" #include "dconfig.h"
#include "configVariableInt.h"
#include "configVariableDouble.h"
#include "configVariableBool.h"
#include "configVariableString.h"
#include "configVariableFilename.h"
ConfigureDecl(config_downloader, EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS); ConfigureDecl(config_downloader, EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS);
NotifyCategoryDecl(downloader, EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS); NotifyCategoryDecl(downloader, EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS);
extern const int downloader_disk_write_frequency; extern ConfigVariableInt downloader_disk_write_frequency;
extern const int downloader_byte_rate; extern ConfigVariableInt downloader_byte_rate;
extern const float downloader_frequency; extern ConfigVariableDouble downloader_frequency;
extern const int downloader_timeout; extern ConfigVariableInt downloader_timeout;
extern const int downloader_timeout_retries; extern ConfigVariableInt downloader_timeout_retries;
extern const int decompressor_buffer_size; extern ConfigVariableInt decompressor_buffer_size;
extern const float decompressor_frequency; extern ConfigVariableDouble decompressor_frequency;
extern const int extractor_buffer_size; extern ConfigVariableInt extractor_buffer_size;
extern const float extractor_frequency; extern ConfigVariableDouble extractor_frequency;
extern const int patcher_buffer_size; extern ConfigVariableInt patcher_buffer_size;
extern const bool early_random_seed; extern ConfigVariableBool early_random_seed;
extern const bool verify_ssl; extern ConfigVariableBool verify_ssl;
extern const string ssl_cipher_list; extern ConfigVariableString ssl_cipher_list;
extern const string http_proxy; extern ConfigVariableString http_proxy;
extern const string http_direct_hosts; extern ConfigVariableString http_direct_hosts;
extern const bool http_try_all_direct; extern ConfigVariableBool http_try_all_direct;
extern const string http_proxy_username; extern ConfigVariableString http_proxy_username;
extern const bool http_proxy_tunnel; extern ConfigVariableBool http_proxy_tunnel;
extern const double http_connect_timeout; extern ConfigVariableDouble http_connect_timeout;
extern const double http_timeout; extern ConfigVariableDouble http_timeout;
extern const int http_max_connect_count; extern ConfigVariableInt http_max_connect_count;
extern const Filename http_client_certificate_filename; extern ConfigVariableFilename http_client_certificate_filename;
extern const string http_client_certificate_passphrase; extern ConfigVariableString http_client_certificate_passphrase;
#endif #endif