mirror of https://github.com/BOINC/boinc.git
109 lines
3.5 KiB
C++
109 lines
3.5 KiB
C++
// Berkeley Open Infrastructure for Network Computing
|
|
// http://boinc.berkeley.edu
|
|
// Copyright (C) 2005 University of California
|
|
//
|
|
// This is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU Lesser General Public
|
|
// License as published by the Free Software Foundation;
|
|
// either version 2.1 of the License, or (at your option) any later version.
|
|
//
|
|
// This software is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
// See the GNU Lesser General Public License for more details.
|
|
//
|
|
// To view the GNU Lesser General Public License visit
|
|
// http://www.gnu.org/copyleft/lesser.html
|
|
// or write to the Free Software Foundation, Inc.,
|
|
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
// flags determining what is written to standard out.
|
|
// (errors go to stderr)
|
|
//
|
|
// NOTE: all writes to stdout should have an if (log_flags.*) {} around them.
|
|
//
|
|
|
|
#ifndef _LOGFLAGS_H_
|
|
#define _LOGFLAGS_H_
|
|
|
|
#ifndef _WIN32
|
|
#include <stdio.h>
|
|
#endif
|
|
|
|
#define MAX_FILE_XFERS_PER_PROJECT 2
|
|
#define MAX_FILE_XFERS 8
|
|
// kind of arbitrary
|
|
|
|
class XML_PARSER;
|
|
|
|
struct LOG_FLAGS {
|
|
// on by default, user-readable
|
|
//
|
|
bool task; // task start and finish
|
|
bool file_xfer; // file transfer start and finish
|
|
bool sched_ops; // interactions with schedulers
|
|
|
|
// off by default; intended for developers and testers
|
|
//
|
|
bool cpu_sched; // preemption and resumption
|
|
bool cpu_sched_debug; // explain scheduler decisions
|
|
bool rr_simulation; // results of rr simulator
|
|
bool debt_debug; // changes to debt
|
|
bool task_debug; // task start and control details
|
|
// also prints when apps checkpoint
|
|
bool work_fetch_debug; // work fetch policy
|
|
|
|
bool unparsed_xml; // show unparsed XML lines
|
|
bool state_debug; // print textual summary of CLIENT_STATE initially
|
|
// and after each scheduler RPC and garbage collect
|
|
// also show actions of garbage collector
|
|
// also show when state file is read or written
|
|
bool file_xfer_debug; // show completion of FILE_XFER
|
|
bool sched_op_debug;
|
|
bool http_debug;
|
|
bool proxy_debug;
|
|
bool time_debug; // changes in on_frac, active_frac, connected_frac
|
|
bool http_xfer_debug;
|
|
bool benchmark_debug; // debug CPU benchmarks
|
|
bool poll_debug; // show what polls are responding
|
|
bool guirpc_debug;
|
|
bool scrsave_debug;
|
|
bool app_msg_send; // show shared-mem message to apps
|
|
bool app_msg_receive; // show shared-mem message from apps
|
|
bool mem_usage_debug; // memory usage
|
|
bool network_status_debug;
|
|
bool checkpoint_debug;
|
|
int stress_shmem_debug;
|
|
|
|
LOG_FLAGS();
|
|
void defaults();
|
|
int parse(XML_PARSER&);
|
|
void show();
|
|
};
|
|
|
|
struct CONFIG {
|
|
bool dont_check_file_sizes;
|
|
bool http_1_0;
|
|
int save_stats_days;
|
|
int ncpus;
|
|
int max_file_xfers;
|
|
int max_file_xfers_per_project;
|
|
bool suppress_net_info;
|
|
bool disallow_attach;
|
|
bool os_random_only;
|
|
bool no_alt_platform;
|
|
bool simple_gui_only;
|
|
bool dont_contact_ref_site;
|
|
|
|
CONFIG();
|
|
void defaults();
|
|
int parse(FILE*);
|
|
int parse_options(XML_PARSER&);
|
|
};
|
|
|
|
extern LOG_FLAGS log_flags;
|
|
extern CONFIG config;
|
|
extern int read_config_file();
|
|
|
|
#endif
|