chiark / gitweb /
plugins/tracklength-gstreamer.c: Rewrite to use `GstDiscoverer'.
[disorder] / README.reload
... / ...
CommitLineData
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
8The situation is gradually improving; this file tracks the current
9state.
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
16** alias (enforced at reload only)
17
18This defines how aliases are inserted into the track database. Need
19to think about how changing it will affect things.
20
21** namepart (enforced at reload only)
22
23Probably affects alias construction.
24
25** stopword (enforced at reload only)
26
27The search database will have to be rebuilt from scratch.
28
29** user (enforced at reload only)
30
31All the files will be owned by the wrong user!
32
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
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
49** home (enforced at reload)
50
51We absolutely cannot accept changing our state directory.
52
53** lock (generates a deprecation warning)
54
55Liable to be removed anyway.
56
57** nice_speaker (generates a warning)
58
59You can't renice a running speaker to make it less nice (and we don't
60try to make it more nice).
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.