Commit | Line | Data |
---|---|---|
b7adf2b1 RK |
1 | The effect of "disorder reconfigure" |
2 | ==================================== | |
3 | ||
4 | This is current rather vaguely defined and implemented. This file | |
5 | will lay out what you can and cannot change over a reconfigure. Any | |
6 | other changes will require a full server restart. | |
7 | ||
8 | I intend to improve the situation, but for now this is how it is. | |
9 | ||
10 | * Options that might have to remain the same across restart | |
11 | ||
12 | Arguably if there is anything in this section then that's a serious | |
13 | bug! | |
14 | ||
15 | ** alias | |
16 | ||
17 | This defines how aliases are inserted into the track database. Need | |
18 | to think about how changing it will affect things. | |
19 | ||
20 | ** namepart | |
21 | ||
22 | Probably affects alias construction. | |
23 | ||
24 | ** stopword | |
25 | ||
26 | The search database will have to be rebuilt from scratch. This is | |
27 | do-able but AFAIK we don't detect it. | |
28 | ||
29 | ** user | |
30 | ||
31 | All the files will be owned by the wrong user! | |
32 | ||
33 | * Options that must remain the same across reload | |
34 | ||
35 | Some things will just require a restart. We should either enforce | |
36 | this (refusing to accept modified configurations that purport to | |
37 | change them) or explicitly ignore it. | |
38 | ||
39 | ** home | |
40 | ||
41 | We absolutely cannot accept changing our state directory. If this is | |
42 | attempted it must be rejected. | |
43 | ||
44 | ** lock | |
45 | ||
46 | Liable to be removed anyway. | |
47 | ||
48 | ** nice_speaker | |
49 | ||
50 | Can't renice a running speaker to make it less nice (and we don't try | |
51 | to make it more nice). We ought to issue an error message and | |
52 | otherwise ignore. | |
53 | ||
54 | * Options that ought to be changable across reload but aren't | |
55 | ||
56 | These options need some work somewhere to be changeable just by a | |
57 | reload. | |
58 | ||
59 | ** api | |
60 | ||
61 | The main server will cope fine with this changing. The speaker will | |
62 | ignore the change however. | |
63 | ||
64 | ** broadcast | |
65 | ||
66 | The speaker will ignore the change. | |
67 | ||
68 | ** broadcast_from | |
69 | ||
70 | The speaker will ignore the change. | |
71 | ||
72 | ** collection | |
73 | ||
74 | If the set of collections change we ought to initiate a rescan. | |
75 | ||
76 | ** device | |
77 | ||
78 | The speaker will ignore the change. | |
79 | ||
80 | ** multicast_loop | |
81 | ||
82 | The speaker will ignore the change. | |
83 | ||
84 | ** multicast_ttl | |
85 | ||
86 | The speaker will ignore the change. | |
87 | ||
88 | ** pause_mode | |
89 | ||
90 | The speaker will ignore the change. | |
91 | ||
92 | ** sample_format | |
93 | ||
94 | The speaker will ignore the change. | |
95 | ||
96 | ** speaker_command | |
97 | ||
98 | The speaker will ignore the change. | |
99 | ||
100 | * Options that can be changed across reload | |
101 | ||
102 | These options can be changed at reload and it should just work. | |
103 | ||
104 | ** authorization_algoritm | |
105 | ||
106 | ** channel | |
107 | ||
108 | ** default_rights | |
109 | ||
110 | ** listen | |
111 | ||
112 | ** mixer | |
113 | ||
114 | ** new_bias | |
115 | ||
116 | ** new_bias_age | |
117 | ||
118 | ** new_max | |
119 | ||
120 | ** nice_rescan | |
121 | ||
122 | Wouldn't affect an already-running rescan, but reload already cancels | |
123 | and restarts the underway rescan anyway. | |
124 | ||
125 | ** noticed_history | |
126 | ||
127 | ** reminder_interval | |
128 | ||
129 | ** remote_userman | |
130 | ||
131 | ** replay_min | |
132 | ||
133 | ** signal | |
134 | ||
135 | ** sox_generation | |
136 | ||
137 | ** scratch | |
138 | ||
139 | * Options that can change, but with a caveat | |
140 | ||
141 | These options can be changed at reload but there is some caveat about | |
142 | this (which ought to be documented, and in some cases is). | |
143 | ||
144 | ** plugins | |
145 | ||
146 | Plugin path. You can change the plugin path but an already-loaded | |
147 | plugin may stay loaded. | |
148 | ||
149 | ** cookie_key_lifetime | |
150 | ||
151 | Only affects subsequently generated keys - cannot shorten (or extend) | |
152 | the lifetime of the current key. | |
153 | ||
154 | ** cookie_login_lifetime | |
155 | ||
156 | Only affects subsequently generated cookies - cannot shorten (or | |
157 | extend) the lifetime of already-generated cookies. | |
158 | ||
159 | ** history | |
160 | ||
161 | The history might not shorten until it's next written. | |
162 | ||
163 | ** player | |
164 | ||
165 | Won't affect running players or decoders. | |
166 | ||
167 | ** queue_pad | |
168 | ||
169 | Won't shrink the queue. | |
170 | ||
171 | ** tracklength | |
172 | ||
173 | Won't affect already-computed lengths. | |
174 | ||
175 | * Implementation Considerations | |
176 | ||
177 | A likely change is that the speaker will be created on demand and | |
178 | stopped when idle. Some changes will still be handled via SM_RELOAD | |
179 | but others may require the speaker to quit and restart. |