-
Notifications
You must be signed in to change notification settings - Fork 183
/
render_config.h
130 lines (106 loc) · 4.18 KB
/
render_config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
* Copyright (c) 2007 - 2023 by mod_tile contributors (see AUTHORS file)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; If not, see http://www.gnu.org/licenses/.
*/
#ifndef RENDER_CONFIG_H
#define RENDER_CONFIG_H
#include "config.h"
#define MAX_ZOOM 20
// MAX_SIZE is the biggest file which we will return to the user
#define MAX_SIZE (1 * 1024 * 1024)
// With directory hashing enabled we rewrite the path so that tiles are really stored here instead
#define DIRECTORY_HASH
#ifndef RENDERD_TILE_DIR
#define RENDERD_TILE_DIR "/var/cache/renderd/tiles"
#endif
// TILE_PATH is where Openlayers with try to fetch the "z/x/y.png" tiles from
// this is now only used if DIRECTORY_HASH is undefined
// #define TILE_PATH "/var/www/html/osm_tiles2"
// MAX_LOAD_OLD: if tile is out of date, don't re-render it if past this load threshold (users gets old tile)
// (This is the default value. Can be overwritten in Apache config with ModTileMaxLoadOld.)
#define MAX_LOAD_OLD 16
// MAX_LOAD_MISSING: if tile is missing, don't render it if past this load threshold (user gets 404 error)
// (This is the default value. Can be overwritten in Apache config with ModTileMaxLoadMissing.)
#define MAX_LOAD_MISSING 50
// MAX_LOAD_ANY: give up serving any data if beyond this load (user gets 404 error)
#define MAX_LOAD_ANY 100
// VERYOLD_THRESHOLD: defines how old a tile needs to be (in microseconds) to get rendering priority rather than renderingLow priority
// 1000000*3600*24*365 = 31536000000000
#define VERYOLD_THRESHOLD 31536000000000
// Location of osm.xml file
#ifndef RENDERD_CONFIG
#define RENDERD_CONFIG "/etc/renderd.conf"
#endif
// The XML configuration used if one is not provided
#ifndef XMLCONFIG_DEFAULT
#define XMLCONFIG_DEFAULT "default"
#endif
// Maximum number of configurations that mod tile will allow
#ifndef XMLCONFIGS_MAX
#define XMLCONFIGS_MAX 10
#endif
// Default PID file path
#ifndef RENDERD_PIDFILE
#define RENDERD_PIDFILE "/run/renderd/renderd.pid"
#endif
// Mapnik input plugins (will need to adjust for 32 bit libs)
#ifndef MAPNIK_PLUGINS_DIR
#define MAPNIK_PLUGINS_DIR "/usr/local/lib64/mapnik/input"
#endif
// Default directory to search for fonts. Recursion can be enabled if desired.
#ifndef MAPNIK_FONTS_DIR
#define MAPNIK_FONTS_DIR "/usr/local/lib64/mapnik/fonts"
#endif
#ifndef MAPNIK_FONTS_DIR_RECURSE
#define MAPNIK_FONTS_DIR_RECURSE 0
#endif
// Typical interval between planet imports, used as basis for tile expiry times
#define PLANET_INTERVAL (7 * 24 * 60 * 60)
// Planet import should touch this file when complete
#define PLANET_TIMESTAMP "/planet-import-complete"
// Timeout before giving for a tile to be rendered
// (This is the default value. Can be overwritten in Apache config with ModTileRequestTimeout.)
#define REQUEST_TIMEOUT (3)
#define FD_INVALID (-1)
#ifndef MIN
#define MIN(x, y) ((x) < (y) ? (x) : (y))
#endif
#ifndef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
#endif
#define MAX_CONNECTIONS (2048)
// default for number of rendering threads
#define NUM_THREADS (4)
// Use this to enable meta-tiles which will render NxN tiles at once
// Note: This should be a power of 2 (2, 4, 8, 16 ...)
#define METATILE (8)
// #undef METATILE
// Fallback to standard tiles if meta tile doesn't exist
// Legacy - not needed on new installs
// #undef METATILEFALLBACK
// Metatiles are much larger in size so we don't need big queues to handle large areas
#ifdef METATILE
#define QUEUE_MAX (64)
#define REQ_LIMIT (256)
#define DIRTY_LIMIT (8000)
#else
#define QUEUE_MAX (1024)
#define REQ_LIMIT (512)
#define DIRTY_LIMIT (10000)
#define HASHIDX_SIZE 22123
#endif
// Penalty for client making an invalid request (in seconds)
#define CLIENT_PENALTY (3)
#endif