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