Spicy
configuration.h
1 // Copyright (c) 2020-2021 by the Zeek Project. See LICENSE for details.
2 
3 #pragma once
4 
5 #include <cstddef>
6 #include <iostream>
7 #include <optional>
8 #include <string>
9 
10 #include <hilti/rt/filesystem.h>
11 #include <hilti/rt/util.h>
12 
13 namespace hilti::rt {
14 
16 struct Configuration {
17  Configuration();
18 
20  size_t fiber_individual_stack_size = static_cast<size_t>(1 * 1024 * 1024);
21 
23  size_t fiber_shared_stack_size = static_cast<size_t>(1 * 1024 * 1024);
24 
26  unsigned int fiber_cache_size = 100;
27 
35  size_t fiber_min_stack_size = static_cast<size_t>(20 * 1024);
36 
38  std::optional<hilti::rt::filesystem::path> debug_out;
39 
41  bool show_backtraces = false;
42 
44  bool abort_on_exceptions = false;
45 
47  bool report_resource_usage = false;
48 
50  std::string debug_streams;
51 
53  std::optional<std::reference_wrapper<std::ostream>> cout;
54 };
55 
56 namespace configuration {
61 extern const Configuration& get();
62 
69 extern void set(Configuration cfg);
70 
71 } // namespace configuration
72 } // namespace hilti::rt
size_t fiber_shared_stack_size
Definition: configuration.h:23
bool abort_on_exceptions
Definition: configuration.h:44
Definition: any.h:7
bool show_backtraces
Definition: configuration.h:41
std::optional< hilti::rt::filesystem::path > debug_out
Definition: configuration.h:38
size_t fiber_min_stack_size
Definition: configuration.h:35
unsigned int fiber_cache_size
Definition: configuration.h:26
std::string debug_streams
Definition: configuration.h:50
size_t fiber_individual_stack_size
Definition: configuration.h:20
Definition: configuration.h:16
std::optional< std::reference_wrapper< std::ostream > > cout
Definition: configuration.h:53