Spicy
configuration.h
1 // Copyright (c) 2020-2021 by the Zeek Project. See LICENSE for details.
2 
3 #pragma once
4 
5 #include <iostream>
6 #include <optional>
7 #include <string>
8 
9 #include <hilti/rt/filesystem.h>
10 #include <hilti/rt/util.h>
11 
12 namespace hilti::rt {
13 
15 struct Configuration {
16  Configuration();
17 
19  size_t fiber_individual_stack_size = 1 * 1024 * 1024;
20 
22  size_t fiber_shared_stack_size = 1 * 1024 * 1024;
23 
25  unsigned int fiber_cache_size = 100;
26 
34  size_t fiber_min_stack_size = 20 * 1024;
35 
37  std::optional<hilti::rt::filesystem::path> debug_out;
38 
40  bool show_backtraces = false;
41 
43  bool abort_on_exceptions = false;
44 
46  bool report_resource_usage = false;
47 
49  std::string debug_streams;
50 
52  std::optional<std::reference_wrapper<std::ostream>> cout;
53 };
54 
55 namespace configuration {
60 extern const Configuration& get();
61 
68 extern void set(Configuration cfg);
69 
70 } // namespace configuration
71 } // namespace hilti::rt
size_t fiber_shared_stack_size
Definition: configuration.h:22
bool abort_on_exceptions
Definition: configuration.h:43
Definition: any.h:7
bool show_backtraces
Definition: configuration.h:40
std::optional< hilti::rt::filesystem::path > debug_out
Definition: configuration.h:37
size_t fiber_min_stack_size
Definition: configuration.h:34
unsigned int fiber_cache_size
Definition: configuration.h:25
std::string debug_streams
Definition: configuration.h:49
size_t fiber_individual_stack_size
Definition: configuration.h:19
Definition: configuration.h:15
std::optional< std::reference_wrapper< std::ostream > > cout
Definition: configuration.h:52