1
# ubuntuone.syncdaemon.states - SyncDaemon states
3
# Author: John Lenton <john.lenton@canonical.com>
5
# Copyright 2009 Canonical Ltd.
7
# This program is free software: you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License version 3, as published
9
# by the Free Software Foundation.
11
# This program is distributed in the hope that it will be useful, but
12
# WITHOUT ANY WARRANTY; without even the implied warranties of
13
# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
14
# PURPOSE. See the GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License along
17
# with this program. If not, see <http://www.gnu.org/licenses/>.
19
The states of the SyncDaemon
22
class BadTransition(Exception):
24
An event arrived that the state didn't know how to handle.
27
class UndefinedState(Exception):
29
The target state doesn't exist.
32
class SyncDaemonState(object):
37
return '<%s %s>' % (self.__class__.__name__,
40
def __init__(self, name, description,
41
sys_net_connected_trn, sys_connect_trn,
42
sys_net_disconnected_trn, sys_disconnect_trn,
43
sys_connection_lost_trn,
44
is_error=False, is_connected=False, is_online=False,
48
self.description = description
49
self.is_error = is_error
50
self.is_connected = is_connected
51
self.is_online = is_online
53
self.transitions = dict(SYS_NET_CONNECTED=sys_net_connected_trn,
54
SYS_CONNECT=sys_connect_trn,
55
SYS_NET_DISCONNECTED=sys_net_disconnected_trn,
56
SYS_DISCONNECT=sys_disconnect_trn,
57
SYS_CONNECTION_LOST=sys_connection_lost_trn,
60
def next(self, event):
62
Determine the next state, given the current state and the event.
63
That makes us a Moore FSM, right?
65
if event in self.transitions:
66
new = self.transitions[event]
70
raise UndefinedState("State %s is undefined" % new)
72
raise BadTransition("State %s can't handle the %s event"
75
class NonActiveConnectedSDState(SyncDaemonState):
77
States that handle network disconnections with no cleanup
80
def __init__(self, name, description, is_online=False, with_q=None,
82
ready_waiting = 'READY_WAITING'
83
ready_w_network = 'READY_WITH_NETWORK'
84
start_connecting = 'START_CONNECTING'
85
if with_q is not None:
86
ready_waiting += '_WITH_' + with_q
87
ready_w_network += '_WITH_' + with_q
88
start_connecting += '_WITH_' + with_q
89
if name.startswith('START_'):
93
super(NonActiveConnectedSDState, self).__init__(name, description,
102
class WorkingSDState(SyncDaemonState):
104
States that handle network disconnections by doing cleanup.
106
def __init__(self, name, description, **other_transitions):
107
super(WorkingSDState, self).__init__(
108
name, description, name, name,
109
'START_CLEANUP_WAITING',
110
'START_CONNECTED_CLEANUP',
111
'START_CLEANUP_WAITING_WITH_NETWORK',
112
is_connected=True, is_online=True,
115
class AQErrorState(SyncDaemonState):
117
States that are errors.
119
def __init__(self, name, description):
120
super(AQErrorState, self).__init__(name, description,
121
name, name, name, name, name,
124
def next(self, event):
126
The next state of an error is always itself.
131
INIT = SyncDaemonState(
132
'INIT', 'just initialized',
133
'INIT_WITH_NETWORK', 'INIT_WAITING',
134
'INIT', 'INIT', 'INIT',
135
SYS_WAIT_FOR_LOCAL_RESCAN='READING',
138
INIT_WITH_NETWORK = SyncDaemonState(
140
'just initialized, but already has network',
141
'INIT_WITH_NETWORK', 'INIT_WAITING_WITH_NETWORK',
142
'INIT', 'INIT_WITH_NETWORK', 'INIT_WITH_NETWORK',
143
SYS_WAIT_FOR_LOCAL_RESCAN='READING_WITH_NETWORK',
146
INIT_WAITING = SyncDaemonState(
148
'just initialized, but the user already wants to connect',
149
'INIT_WAITING_WITH_NETWORK', 'INIT_WAITING',
150
'INIT_WAITING', 'INIT', 'INIT_WAITING',
151
SYS_WAIT_FOR_LOCAL_RESCAN='READING_WAITING',
154
INIT_WAITING_WITH_NETWORK = SyncDaemonState(
155
'INIT_WAITING_WITH_NETWORK',
156
'just initialized, user wants to connect, and network is available',
157
'INIT_WAITING_WITH_NETWORK', 'INIT_WAITING_WITH_NETWORK',
158
'INIT_WAITING', 'INIT_WITH_NETWORK', 'INIT_WAITING_WITH_NETWORK',
159
SYS_WAIT_FOR_LOCAL_RESCAN='READING_WAITING_WITH_NETWORK',
162
READING = SyncDaemonState(
164
'doing local rescan',
165
'READING_WITH_NETWORK', 'READING_WAITING',
166
'READING', 'READING', 'READING',
167
SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK',
168
SYS_META_QUEUE_WAITING='READING_WITH_METAQ',
169
SYS_CONTENT_QUEUE_WAITING='READING_WITH_CONTQ',
172
READING_WITH_METAQ = SyncDaemonState(
173
'READING_WITH_METAQ',
174
'doing local rescan, meta_q waiting',
175
'READING_WITH_NETWORK_WITH_METAQ', 'READING_WAITING_WITH_METAQ',
176
'READING_WITH_METAQ', 'READING_WITH_METAQ', 'READING_WITH_METAQ',
177
SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_METAQ',
178
SYS_CONTENT_QUEUE_WAITING='READING_WITH_BOTHQ',
181
READING_WITH_CONTQ = SyncDaemonState(
182
'READING_WITH_CONTQ',
183
'doing local rescan, content_q waiting',
184
'READING_WITH_NETWORK_WITH_CONTQ', 'READING_WAITING_WITH_CONTQ',
185
'READING_WITH_CONTQ', 'READING_WITH_CONTQ', 'READING_WITH_CONTQ',
186
SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_CONTQ',
187
SYS_META_QUEUE_WAITING='READING_WITH_BOTHQ',
188
SYS_CONTENT_QUEUE_WAITING='READING_WITH_CONTQ',
191
READING_WITH_BOTHQ = SyncDaemonState(
192
'READING_WITH_BOTHQ',
193
'doing local rescan, both _q\'s waiting',
194
'READING_WITH_NETWORK_WITH_BOTHQ', 'READING_WAITING_WITH_BOTHQ',
195
'READING_WITH_BOTHQ', 'READING_WITH_BOTHQ', 'READING_WITH_BOTHQ',
196
SYS_LOCAL_RESCAN_DONE='READY_FOR_NETWORK_WITH_BOTHQ',
197
SYS_CONTENT_QUEUE_WAITING='READING_WITH_BOTHQ',
200
READING_WITH_NETWORK = SyncDaemonState(
201
'READING_WITH_NETWORK',
202
'doing local rescan; network is available',
203
'READING_WITH_NETWORK', 'READING_WAITING_WITH_NETWORK',
204
'READING', 'READING_WITH_NETWORK', 'READING_WITH_NETWORK',
205
SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK',
206
SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_METAQ',
207
SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_CONTQ',
210
READING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
211
'READING_WITH_NETWORK_WITH_METAQ',
212
'doing local rescan; network is available, meta_q waiting',
213
'READING_WITH_NETWORK_WITH_METAQ',
214
'READING_WAITING_WITH_NETWORK_WITH_METAQ',
215
'READING_WITH_METAQ', 'READING_WITH_NETWORK_WITH_METAQ',
216
'READING_WITH_NETWORK_WITH_METAQ',
217
SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_METAQ',
218
SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
221
READING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
222
'READING_WITH_NETWORK_WITH_CONTQ',
223
'doing local rescan; network is available, content_q waiting',
224
'READING_WITH_NETWORK_WITH_CONTQ',
225
'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
226
'READING_WITH_CONTQ', 'READING_WITH_NETWORK_WITH_CONTQ',
227
'READING_WITH_NETWORK_WITH_CONTQ',
228
SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_CONTQ',
229
SYS_META_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
230
SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_CONTQ',
233
READING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
234
'READING_WITH_NETWORK_WITH_BOTHQ',
235
'doing local rescan; network is available, both _q\'s waiting',
236
'READING_WITH_NETWORK_WITH_BOTHQ',
237
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
238
'READING_WITH_BOTHQ', 'READING_WITH_NETWORK_WITH_BOTHQ',
239
'READING_WITH_NETWORK_WITH_BOTHQ',
240
SYS_LOCAL_RESCAN_DONE='READY_WITH_NETWORK_WITH_BOTHQ',
241
SYS_CONTENT_QUEUE_WAITING='READING_WITH_NETWORK_WITH_BOTHQ',
244
READING_WAITING = SyncDaemonState(
246
'doing local rescan; user wants to connect',
247
'READING_WAITING_WITH_NETWORK', 'READING_WAITING',
248
'READING_WAITING', 'READING', 'READING_WAITING',
249
SYS_LOCAL_RESCAN_DONE='READY_WAITING',
250
SYS_META_QUEUE_WAITING='READING_WAITING_WITH_METAQ',
251
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_CONTQ',
254
READING_WAITING_WITH_METAQ = SyncDaemonState(
255
'READING_WAITING_WITH_METAQ',
256
'doing local rescan; user wants to connect, meta_q waiting',
257
'READING_WAITING_WITH_NETWORK_WITH_METAQ', 'READING_WAITING_WITH_METAQ',
258
'READING_WAITING_WITH_METAQ', 'READING_WITH_METAQ',
259
'READING_WAITING_WITH_METAQ',
260
SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_METAQ',
261
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
264
READING_WAITING_WITH_CONTQ = SyncDaemonState(
265
'READING_WAITING_WITH_CONTQ',
266
'doing local rescan; user wants to connect, content_q waiting',
267
'READING_WAITING_WITH_NETWORK_WITH_CONTQ', 'READING_WAITING_WITH_CONTQ',
268
'READING_WAITING_WITH_CONTQ', 'READING_WITH_CONTQ',
269
'READING_WAITING_WITH_CONTQ',
270
SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_CONTQ',
271
SYS_META_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
272
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_CONTQ',
275
READING_WAITING_WITH_BOTHQ = SyncDaemonState(
276
'READING_WAITING_WITH_BOTHQ',
277
'doing local rescan; user wants to connect, both _q\'s waiting',
278
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ', 'READING_WAITING_WITH_BOTHQ',
279
'READING_WAITING_WITH_BOTHQ', 'READING_WITH_BOTHQ',
280
'READING_WAITING_WITH_BOTHQ',
281
SYS_LOCAL_RESCAN_DONE='READY_WAITING_WITH_BOTHQ',
282
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_BOTHQ',
285
READING_WAITING_WITH_NETWORK = SyncDaemonState(
286
'READING_WAITING_WITH_NETWORK',
287
'doing local rescan; user wants to connect, and network is available',
288
'READING_WAITING_WITH_NETWORK', 'READING_WAITING_WITH_NETWORK',
289
'READING_WAITING', 'READING_WITH_NETWORK',
290
'READING_WAITING_WITH_NETWORK',
291
SYS_LOCAL_RESCAN_DONE='START_CONNECTING',
292
SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_METAQ',
293
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
296
READING_WAITING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
297
'READING_WAITING_WITH_NETWORK_WITH_METAQ',
298
'doing local rescan; user wants to connect, network is available,'
300
'READING_WAITING_WITH_NETWORK_WITH_METAQ',
301
'READING_WAITING_WITH_NETWORK_WITH_METAQ',
302
'READING_WAITING_WITH_METAQ', 'READING_WITH_NETWORK_WITH_METAQ',
303
'READING_WAITING_WITH_NETWORK_WITH_METAQ',
304
SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_METAQ',
305
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
308
READING_WAITING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
309
'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
310
'doing local rescan; user wants to connect, network is available,'
311
' content_q waiting',
312
'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
313
'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
314
'READING_WAITING_WITH_CONTQ', 'READING_WITH_NETWORK_WITH_CONTQ',
315
'READING_WAITING_WITH_NETWORK_WITH_CONTQ',
316
SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_CONTQ',
317
SYS_META_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
318
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_CONTQ',
321
READING_WAITING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
322
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
323
'doing local rescan; user wants to connect, network is available,'
324
' both _q\'s waiting',
325
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
326
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
327
'READING_WAITING_WITH_BOTHQ', 'READING_WITH_NETWORK_WITH_BOTHQ',
328
'READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
329
SYS_LOCAL_RESCAN_DONE='START_CONNECTING_WITH_BOTHQ',
330
SYS_CONTENT_QUEUE_WAITING='READING_WAITING_WITH_NETWORK_WITH_BOTHQ',
333
READY_FOR_NETWORK = SyncDaemonState(
335
'ready to connect as soon as the user says so and the network comes up.',
336
'READY_WITH_NETWORK', 'READY_WAITING',
337
'READY_FOR_NETWORK', 'READY_FOR_NETWORK', 'READY_FOR_NETWORK',
338
SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_METAQ',
339
SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_CONTQ',
342
READY_FOR_NETWORK_WITH_METAQ = SyncDaemonState(
343
'READY_FOR_NETWORK_WITH_METAQ',
344
'ready to connect as soon as the user says so and the network comes up.'
345
+ ' Meta queue is waiting.',
346
'READY_WITH_NETWORK_WITH_METAQ', 'READY_WAITING_WITH_METAQ',
347
'READY_FOR_NETWORK_WITH_METAQ', 'READY_FOR_NETWORK_WITH_METAQ',
348
'READY_FOR_NETWORK_WITH_METAQ',
349
SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
352
READY_FOR_NETWORK_WITH_CONTQ = SyncDaemonState(
353
'READY_FOR_NETWORK_WITH_CONTQ',
354
'ready to connect as soon as the user says so and the network comes up.'
355
+ ' Content queue is waiting.',
356
'READY_WITH_NETWORK_WITH_CONTQ', 'READY_WAITING_WITH_CONTQ',
357
'READY_FOR_NETWORK_WITH_CONTQ', 'READY_FOR_NETWORK_WITH_CONTQ',
358
'READY_FOR_NETWORK_WITH_CONTQ',
359
SYS_META_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
360
SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_CONTQ',
363
READY_FOR_NETWORK_WITH_BOTHQ = SyncDaemonState(
364
'READY_FOR_NETWORK_WITH_BOTHQ',
365
'ready to connect as soon as the user says so and the network comes up.'
366
+ ' Both request queues are waiting.',
367
'READY_WITH_NETWORK_WITH_BOTHQ', 'READY_WAITING_WITH_BOTHQ',
368
'READY_FOR_NETWORK_WITH_BOTHQ', 'READY_FOR_NETWORK_WITH_BOTHQ',
369
'READY_FOR_NETWORK_WITH_BOTHQ',
370
SYS_CONTENT_QUEUE_WAITING='READY_FOR_NETWORK_WITH_BOTHQ',
373
READY_WITH_NETWORK = SyncDaemonState(
374
'READY_WITH_NETWORK',
375
'ready to connect, network is up, user is yet to push "go"',
376
'READY_WITH_NETWORK', 'START_CONNECTING',
377
'READY_FOR_NETWORK', 'READY_WITH_NETWORK', 'READY_WITH_NETWORK',
378
SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_METAQ',
379
SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_CONTQ',
382
READY_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
383
'READY_WITH_NETWORK_WITH_METAQ',
384
'ready to connect, network up, meta_q waiting, user yet to push "go"',
385
'READY_WITH_NETWORK_WITH_METAQ', 'START_CONNECTING_WITH_METAQ',
386
'READY_FOR_NETWORK_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
387
'READY_WITH_NETWORK_WITH_METAQ',
388
SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_METAQ',
389
SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
392
READY_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
393
'READY_WITH_NETWORK_WITH_CONTQ',
394
'ready to connect, network up, content_q waiting, user yet to push "go"',
395
'READY_WITH_NETWORK_WITH_CONTQ', 'START_CONNECTING_WITH_CONTQ',
396
'READY_FOR_NETWORK_WITH_CONTQ', 'READY_WITH_NETWORK_WITH_CONTQ',
397
'READY_WITH_NETWORK_WITH_CONTQ',
398
SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
399
SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_CONTQ',
402
READY_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
403
'READY_WITH_NETWORK_WITH_BOTHQ',
404
'ready to connect, network up, both _q\'s waiting, user yet to push "go"',
405
'READY_WITH_NETWORK_WITH_BOTHQ', 'START_CONNECTING_WITH_BOTHQ',
406
'READY_FOR_NETWORK_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
407
'READY_WITH_NETWORK_WITH_BOTHQ',
408
SYS_META_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
409
SYS_CONTENT_QUEUE_WAITING='READY_WITH_NETWORK_WITH_BOTHQ',
412
READY_WAITING = SyncDaemonState(
414
'ready to connect; user said "go", network is down',
415
'START_CONNECTING', 'READY_WAITING',
416
'READY_WAITING', 'READY_FOR_NETWORK', 'READY_WAITING',
417
SYS_META_QUEUE_WAITING='READY_WAITING_WITH_METAQ',
418
SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_CONTQ',
421
READY_WAITING_WITH_METAQ = SyncDaemonState(
422
'READY_WAITING_WITH_METAQ',
423
'ready to connect; user said "go", network is down, meta_q waiting',
424
'START_CONNECTING_WITH_METAQ', 'READY_WAITING_WITH_METAQ',
425
'READY_WAITING_WITH_METAQ', 'READY_FOR_NETWORK_WITH_METAQ',
426
'READY_WAITING_WITH_METAQ',
427
SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_BOTHQ',
430
READY_WAITING_WITH_CONTQ = SyncDaemonState(
431
'READY_WAITING_WITH_CONTQ',
432
'ready to connect; user said "go", network is down, content_q waiting',
433
'START_CONNECTING_WITH_CONTQ', 'READY_WAITING_WITH_CONTQ',
434
'READY_WAITING_WITH_CONTQ', 'READY_FOR_NETWORK_WITH_CONTQ',
435
'READY_WAITING_WITH_CONTQ',
436
SYS_META_QUEUE_WAITING='READY_WAITING_WITH_METAQ',
437
SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_CONTQ',
440
READY_WAITING_WITH_BOTHQ = SyncDaemonState(
441
'READY_WAITING_WITH_BOTHQ',
442
'ready to connect; user said "go", network is down, both _q\'s waiting',
443
'START_CONNECTING_WITH_BOTHQ', 'READY_WAITING_WITH_BOTHQ',
444
'READY_WAITING_WITH_BOTHQ', 'READY_FOR_NETWORK_WITH_BOTHQ',
445
'READY_WAITING_WITH_BOTHQ',
446
SYS_CONTENT_QUEUE_WAITING='READY_WAITING_WITH_BOTHQ',
449
START_CONNECTING = SyncDaemonState(
451
'started waiting for the socket to come up',
452
'CONNECTING', 'CONNECTING',
453
'READY_WAITING', 'READY_WITH_NETWORK', 'START_CONNECTING',
454
SYS_CONNECTION_MADE='START_CONNECTED',
455
SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
456
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
457
enter=lambda m: m.action_q.connect(),
460
START_CONNECTING_WITH_METAQ = SyncDaemonState(
461
'START_CONNECTING_WITH_METAQ',
462
'started waiting for the socket to come up; meta_q waiting',
463
'CONNECTING_WITH_METAQ', 'CONNECTING_WITH_METAQ',
464
'READY_WAITING_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
465
'START_CONNECTING_WITH_METAQ',
466
SYS_CONNECTION_MADE='START_CONNECTED_WITH_METAQ',
467
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
468
enter=lambda m: m.action_q.connect(),
471
START_CONNECTING_WITH_CONTQ = SyncDaemonState(
472
'START_CONNECTING_WITH_CONTQ',
473
'started waiting for the socket to come up; content_q waiting',
474
'CONNECTING_WITH_CONTQ', 'CONNECTING_WITH_CONTQ',
475
'READY_WAITING_WITH_CONTQ', 'READY_WITH_NETWORK_WITH_CONTQ',
476
'START_CONNECTING_WITH_CONTQ',
477
SYS_CONNECTION_MADE='START_CONNECTED_WITH_CONTQ',
478
SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
479
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
480
enter=lambda m: m.action_q.connect(),
483
START_CONNECTING_WITH_BOTHQ = SyncDaemonState(
484
'START_CONNECTING_WITH_BOTHQ',
485
'started waiting for the socket to come up; both _q\'s waiting',
486
'CONNECTING_WITH_BOTHQ', 'CONNECTING_WITH_BOTHQ',
487
'READY_WAITING_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
488
'START_CONNECTING_WITH_BOTHQ',
489
SYS_CONNECTION_MADE='START_CONNECTED_WITH_BOTHQ',
490
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
491
enter=lambda m: m.action_q.connect(),
494
CONNECTING = SyncDaemonState(
496
'waiting for the socket to come up',
497
'CONNECTING', 'CONNECTING',
498
'READY_WAITING', 'READY_WITH_NETWORK', 'START_CONNECTING',
499
SYS_CONNECTION_MADE='START_CONNECTED',
500
SYS_META_QUEUE_WAITING='CONNECTING_WITH_METAQ',
501
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
504
CONNECTING_WITH_METAQ = SyncDaemonState(
505
'CONNECTING_WITH_METAQ',
506
'waiting for the socket to come up; meta_q waiting',
507
'CONNECTING_WITH_METAQ', 'CONNECTING_WITH_METAQ',
508
'READY_WAITING_WITH_METAQ', 'READY_WITH_NETWORK_WITH_METAQ',
509
'START_CONNECTING_WITH_METAQ',
510
SYS_CONNECTION_MADE='START_CONNECTED_WITH_METAQ',
511
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
514
CONNECTING_WITH_CONTQ = SyncDaemonState(
515
'CONNECTING_WITH_CONTQ',
516
'waiting for the socket to come up; content_q waiting',
517
'CONNECTING_WITH_CONTQ', 'CONNECTING_WITH_CONTQ',
518
'READY_WAITING_WITH_CONTQ', 'READY_WITH_NETWORK_WITH_CONTQ',
519
'START_CONNECTING_WITH_CONTQ',
520
SYS_CONNECTION_MADE='START_CONNECTED_WITH_CONTQ',
521
SYS_META_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
522
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_CONTQ',
525
CONNECTING_WITH_BOTHQ = SyncDaemonState(
526
'CONNECTING_WITH_BOTHQ',
527
'waiting for the socket to come up; both _q\'s waiting',
528
'CONNECTING_WITH_BOTHQ', 'CONNECTING_WITH_BOTHQ',
529
'READY_WAITING_WITH_BOTHQ', 'READY_WITH_NETWORK_WITH_BOTHQ',
530
'START_CONNECTING_WITH_BOTHQ',
531
SYS_CONNECTION_MADE='START_CONNECTED_WITH_BOTHQ',
532
SYS_CONTENT_QUEUE_WAITING='CONNECTING_WITH_BOTHQ',
535
START_CONNECTED = NonActiveConnectedSDState(
537
'socket came up! start checking protocol version',
538
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
539
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING',
540
SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
541
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
542
enter=lambda m: m.check_version(),
545
START_CONNECTED_WITH_METAQ = NonActiveConnectedSDState(
546
'START_CONNECTED_WITH_METAQ',
547
'socket came up! start checking protocol version; meta_q waiting',
549
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
550
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_METAQ',
551
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
552
enter=lambda m: m.check_version(),
555
START_CONNECTED_WITH_CONTQ = NonActiveConnectedSDState(
556
'START_CONNECTED_WITH_CONTQ',
557
'socket came up! start checking protocol version; content_q waiting',
559
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
560
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_CONTQ',
561
SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
562
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
563
enter=lambda m: m.check_version(),
566
START_CONNECTED_WITH_BOTHQ = NonActiveConnectedSDState(
567
'START_CONNECTED_WITH_BOTHQ',
568
'socket came up! start checking protocol version both _q\'s waiting',
570
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
571
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_BOTHQ',
572
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
573
enter=lambda m: m.check_version(),
576
CONNECTED = NonActiveConnectedSDState(
578
'socket came up! checking protocol version',
579
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
580
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING',
581
SYS_META_QUEUE_WAITING='CONNECTED_WITH_METAQ',
582
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
585
CONNECTED_WITH_METAQ = NonActiveConnectedSDState(
586
'CONNECTED_WITH_METAQ',
587
'socket came up! checking protocol version; meta_q waiting',
589
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
590
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_METAQ',
591
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
594
CONNECTED_WITH_CONTQ = NonActiveConnectedSDState(
595
'CONNECTED_WITH_CONTQ',
596
'socket came up! checking protocol version; content_q waiting',
598
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
599
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_CONTQ',
600
SYS_META_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
601
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_CONTQ',
604
CONNECTED_WITH_BOTHQ = NonActiveConnectedSDState(
605
'CONNECTED_WITH_BOTHQ',
606
'socket came up! checking protocol version both _q\'s waiting',
608
SYS_PROTOCOL_VERSION_ERROR='BAD_VERSION',
609
SYS_PROTOCOL_VERSION_OK='START_AUTHENTICATING_WITH_BOTHQ',
610
SYS_CONTENT_QUEUE_WAITING='CONNECTED_WITH_BOTHQ',
613
BAD_VERSION = AQErrorState(
615
'Protocol version mismatch. You probably need to upgrade',
618
START_AUTHENTICATING = NonActiveConnectedSDState(
619
'START_AUTHENTICATING',
620
'Start doing the OAuth dance',
621
SYS_OAUTH_OK='SCANNING_START',
622
SYS_OAUTH_ERROR='AUTH_FAILED',
623
SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
624
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
625
enter=lambda m: m.authenticate(),
628
START_AUTHENTICATING_WITH_METAQ = NonActiveConnectedSDState(
629
'START_AUTHENTICATING_WITH_METAQ',
630
'Start doing the OAuth dance; meta_q waiting',
632
SYS_OAUTH_OK='SCANNING_START_WITH_METAQ',
633
SYS_OAUTH_ERROR='AUTH_FAILED',
634
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
635
enter=lambda m: m.authenticate(),
638
START_AUTHENTICATING_WITH_CONTQ = NonActiveConnectedSDState(
639
'START_AUTHENTICATING_WITH_CONTQ',
640
'Start doing the OAuth dance; content_q waiting',
642
SYS_OAUTH_OK='SCANNING_START_WITH_CONTQ',
643
SYS_OAUTH_ERROR='AUTH_FAILED',
644
SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
645
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
646
enter=lambda m: m.authenticate(),
649
START_AUTHENTICATING_WITH_BOTHQ = NonActiveConnectedSDState(
650
'START_AUTHENTICATING_WITH_BOTHQ',
651
'Start doing the OAuth dance; both _q\'s waiting',
653
SYS_OAUTH_OK='SCANNING_START_WITH_BOTHQ',
654
SYS_OAUTH_ERROR='AUTH_FAILED',
655
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
656
enter=lambda m: m.authenticate(),
659
AUTHENTICATING = NonActiveConnectedSDState(
661
'Doing the OAuth dance',
662
SYS_OAUTH_OK='SCANNING_START',
663
SYS_OAUTH_ERROR='AUTH_FAILED',
664
SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_METAQ',
665
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
668
AUTHENTICATING_WITH_METAQ = NonActiveConnectedSDState(
669
'AUTHENTICATING_WITH_METAQ',
670
'Doing the OAuth dance; meta_q waiting',
672
SYS_OAUTH_OK='SCANNING_START_WITH_METAQ',
673
SYS_OAUTH_ERROR='AUTH_FAILED',
674
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
677
AUTHENTICATING_WITH_CONTQ = NonActiveConnectedSDState(
678
'AUTHENTICATING_WITH_CONTQ',
679
'Doing the OAuth dance; content_q waiting',
681
SYS_OAUTH_OK='SCANNING_START_WITH_CONTQ',
682
SYS_OAUTH_ERROR='AUTH_FAILED',
683
SYS_META_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
684
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_CONTQ',
687
AUTHENTICATING_WITH_BOTHQ = NonActiveConnectedSDState(
688
'AUTHENTICATING_WITH_BOTHQ',
689
'Doing the OAuth dance; both _q\'s waiting',
691
SYS_OAUTH_OK='SCANNING_START_WITH_BOTHQ',
692
SYS_OAUTH_ERROR='AUTH_FAILED',
693
SYS_CONTENT_QUEUE_WAITING='AUTHENTICATING_WITH_BOTHQ',
696
AUTH_FAILED = AQErrorState(
700
UNKNOWN_ERROR = AQErrorState(
702
"Some kind of strange error happened and I can't continue")
704
SCANNING_START = NonActiveConnectedSDState(
706
'start doing server rescan',
707
SYS_SERVER_RESCAN_STARTING='SCANNING',
708
SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
709
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
710
enter=lambda m: m.server_rescan(),
713
SCANNING_START_WITH_METAQ = NonActiveConnectedSDState(
714
'SCANNING_START_WITH_METAQ',
715
'start doing server rescan, meta queue is waiting',
717
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_METAQ',
718
SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
719
enter=lambda m: m.server_rescan(),
722
SCANNING_START_WITH_CONTQ = NonActiveConnectedSDState(
723
'SCANNING_START_WITH_CONTQ',
724
'start doing server rescan, content queue waiting',
726
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_CONTQ',
727
SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
728
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
729
enter=lambda m: m.server_rescan(),
732
SCANNING_START_WITH_BOTHQ = NonActiveConnectedSDState(
733
'SCANNING_START_WITH_BOTHQ',
734
'start doing server rescan, both request queues waiting',
736
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_BOTHQ',
737
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
738
enter=lambda m: m.server_rescan(),
741
SCANNING = NonActiveConnectedSDState(
743
'doing server rescan',
744
SYS_SERVER_RESCAN_DONE='IDLE',
745
SYS_SERVER_RESCAN_STARTING='SCANNING',
746
SYS_META_QUEUE_WAITING='SCANNING_WITH_METAQ',
747
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
750
SCANNING_WITH_METAQ = NonActiveConnectedSDState(
751
'SCANNING_WITH_METAQ',
752
'doing server rescan, meta queue is waiting',
754
SYS_SERVER_RESCAN_DONE='START_WORKING_ON_METADATA',
755
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_METAQ',
756
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
759
SCANNING_WITH_CONTQ = NonActiveConnectedSDState(
760
'SCANNING_WITH_CONTQ',
761
'doing server rescan, content queue waiting',
763
SYS_SERVER_RESCAN_DONE='START_WORKING_ON_CONTENT',
764
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_CONTQ',
765
SYS_META_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
766
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_CONTQ',
769
SCANNING_WITH_BOTHQ = NonActiveConnectedSDState(
770
'SCANNING_WITH_BOTHQ',
771
'doing server rescan, both request queues waiting',
773
SYS_SERVER_RESCAN_DONE='START_WORKING_ON_METADATA_WITH_CONTENT_WAITING',
774
SYS_SERVER_RESCAN_STARTING='SCANNING_WITH_BOTHQ',
775
SYS_CONTENT_QUEUE_WAITING='SCANNING_WITH_BOTHQ',
778
IDLE = NonActiveConnectedSDState(
780
'nothing on the wire right now',
782
SYS_META_QUEUE_WAITING='START_WORKING_ON_METADATA',
783
SYS_CONTENT_QUEUE_WAITING='START_WORKING_ON_CONTENT',
786
START_WORKING_ON_METADATA = WorkingSDState(
787
'START_WORKING_ON_METADATA',
788
'start working on metadata',
789
SYS_META_QUEUE_WAITING='WORKING_ON_METADATA',
790
SYS_META_QUEUE_DONE='IDLE',
791
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
792
enter=lambda m: m.action_q.meta_queue.run(),
795
WORKING_ON_METADATA = WorkingSDState(
796
'WORKING_ON_METADATA',
797
'working on metadata',
798
SYS_META_QUEUE_WAITING='WORKING_ON_METADATA',
799
SYS_META_QUEUE_DONE='IDLE',
800
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
803
START_WORKING_ON_CONTENT = WorkingSDState(
804
'START_WORKING_ON_CONTENT',
805
'start working on content',
806
SYS_META_QUEUE_WAITING='START_WORKING_ON_BOTH',
807
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_CONTENT',
808
SYS_CONTENT_QUEUE_DONE='IDLE',
809
enter=lambda m: m.action_q.content_queue.run(),
812
WORKING_ON_CONTENT = WorkingSDState(
813
'WORKING_ON_CONTENT',
814
'working on content',
815
SYS_META_QUEUE_WAITING='START_WORKING_ON_BOTH',
816
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_CONTENT',
817
SYS_CONTENT_QUEUE_DONE='IDLE',
820
START_WORKING_ON_METADATA_WITH_CONTENT_WAITING = WorkingSDState(
821
'START_WORKING_ON_METADATA_WITH_CONTENT_WAITING',
822
'start working on metadata; content work is waiting also',
823
SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
824
SYS_META_QUEUE_DONE='START_WORKING_ON_CONTENT',
825
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
826
enter=lambda m: m.action_q.meta_queue.run(),
829
WORKING_ON_METADATA_WITH_CONTENT_WAITING = WorkingSDState(
830
'WORKING_ON_METADATA_WITH_CONTENT_WAITING',
831
'working on metadata; content work is waiting',
832
SYS_META_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
833
SYS_META_QUEUE_DONE='START_WORKING_ON_CONTENT',
834
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_METADATA_WITH_CONTENT_WAITING',
837
START_WORKING_ON_BOTH = WorkingSDState(
838
'START_WORKING_ON_BOTH',
839
'start working on both content and metadata',
840
SYS_META_QUEUE_WAITING='WORKING_ON_BOTH',
841
SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
842
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_BOTH',
843
SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
844
enter=lambda m: m.action_q.meta_queue.run(),
847
WORKING_ON_BOTH = WorkingSDState(
849
'working on both content and metadata',
850
SYS_META_QUEUE_WAITING='WORKING_ON_BOTH',
851
SYS_META_QUEUE_DONE='WORKING_ON_CONTENT',
852
SYS_CONTENT_QUEUE_WAITING='WORKING_ON_BOTH',
853
SYS_CONTENT_QUEUE_DONE='WORKING_ON_METADATA',
856
CLEANUP = SyncDaemonState(
858
'doing cleanup (net down, user asked for shutdown)',
859
'CLEANUP_WITH_NETWORK', 'CLEANUP_WAITING',
860
'CLEANUP', 'CLEANUP', 'CLEANUP',
861
SYS_CLEANUP_STARTED='CLEANUP',
862
SYS_CLEANUP_FINISHED='READY_FOR_NETWORK',
863
SYS_META_QUEUE_WAITING='CLEANUP_WITH_METAQ',
864
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_CONTQ',
865
SYS_META_QUEUE_DONE='CLEANUP', # cancelling meta_q.head can do this
866
SYS_CONTENT_QUEUE_DONE='CLEANUP', # ditto
869
CLEANUP_WITH_METAQ = SyncDaemonState(
870
'CLEANUP_WITH_METAQ',
871
'doing cleanup (net down, user asked for shutdown, meta_q waiting)',
872
'CLEANUP_WITH_NETWORK_WITH_METAQ', 'CLEANUP_WAITING_WITH_METAQ',
873
'CLEANUP_WITH_METAQ', 'CLEANUP_WITH_METAQ', 'CLEANUP_WITH_METAQ',
874
SYS_CLEANUP_STARTED='CLEANUP_WITH_METAQ',
875
SYS_CLEANUP_FINISHED='READY_FOR_NETWORK_WITH_METAQ',
876
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
877
SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_METAQ',
880
CLEANUP_WITH_CONTQ = SyncDaemonState(
881
'CLEANUP_WITH_CONTQ',
882
'doing cleanup (net down, user asked for shutdown, content_q waiting)',
883
'CLEANUP_WITH_NETWORK_WITH_CONTQ', 'CLEANUP_WAITING_WITH_CONTQ',
884
'CLEANUP_WITH_CONTQ', 'CLEANUP_WITH_CONTQ', 'CLEANUP_WITH_CONTQ',
885
SYS_CLEANUP_STARTED='CLEANUP_WITH_CONTQ',
886
SYS_CLEANUP_FINISHED='READY_FOR_NETWORK_WITH_CONTQ',
887
SYS_META_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
888
SYS_META_QUEUE_DONE='CLEANUP_WITH_CONTQ',
889
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_CONTQ',
892
CLEANUP_WITH_BOTHQ = SyncDaemonState(
893
'CLEANUP_WITH_BOTHQ',
894
'doing cleanup (net down, user asked for shutdown, both _q\'s waiting)',
895
'CLEANUP_WITH_NETWORK_WITH_BOTHQ', 'CLEANUP_WAITING_WITH_BOTHQ',
896
'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ',
897
SYS_CLEANUP_STARTED='CLEANUP_WITH_BOTHQ',
898
SYS_CLEANUP_FINISHED='READY_FOR_NETWORK_WITH_BOTHQ',
899
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_BOTHQ',
902
START_CLEANUP_WAITING = SyncDaemonState(
903
'START_CLEANUP_WAITING',
904
'start doing cleanup (network dropped)',
905
'CLEANUP_WAITING_WITH_NETWORK', 'CLEANUP_WAITING',
906
'CLEANUP_WAITING', 'CLEANUP', 'CLEANUP_WAITING',
907
SYS_CLEANUP_STARTED='CLEANUP_WAITING',
908
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_METAQ',
909
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_CONTQ',
910
SYS_META_QUEUE_DONE='CLEANUP_WAITING',
911
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING',
912
enter=lambda m: m.action_q.cleanup(),
915
CLEANUP_WAITING = SyncDaemonState(
917
'doing cleanup (network dropped)',
918
'CLEANUP_WAITING_WITH_NETWORK', 'CLEANUP_WAITING',
919
'CLEANUP_WAITING', 'CLEANUP', 'CLEANUP_WAITING',
920
SYS_CLEANUP_STARTED='CLEANUP_WAITING',
921
SYS_CLEANUP_FINISHED='READY_WAITING',
922
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_METAQ',
923
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_CONTQ',
924
SYS_META_QUEUE_DONE='CLEANUP_WAITING',
925
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING',
928
CLEANUP_WAITING_WITH_METAQ = SyncDaemonState(
929
'CLEANUP_WAITING_WITH_METAQ',
930
'doing cleanup (network dropped, meta_q waiting)',
931
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ', 'CLEANUP_WAITING_WITH_METAQ',
932
'CLEANUP_WAITING_WITH_METAQ', 'CLEANUP_WITH_METAQ',
933
'CLEANUP_WAITING_WITH_METAQ',
934
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_METAQ',
935
SYS_CLEANUP_FINISHED='READY_WAITING_WITH_METAQ',
936
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
937
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_METAQ',
940
CLEANUP_WAITING_WITH_CONTQ = SyncDaemonState(
941
'CLEANUP_WAITING_WITH_CONTQ',
942
'doing cleanup (network dropped, content_q waiting)',
943
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ', 'CLEANUP_WAITING_WITH_CONTQ',
944
'CLEANUP_WAITING_WITH_CONTQ', 'CLEANUP_WITH_CONTQ',
945
'CLEANUP_WAITING_WITH_CONTQ',
946
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_CONTQ',
947
SYS_CLEANUP_FINISHED='READY_WAITING_WITH_CONTQ',
948
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
949
SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_CONTQ',
950
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_CONTQ',
953
CLEANUP_WAITING_WITH_BOTHQ = SyncDaemonState(
954
'CLEANUP_WAITING_WITH_BOTHQ',
955
'doing cleanup (network dropped, both _q\'s waiting)',
956
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ', 'CLEANUP_WAITING_WITH_BOTHQ',
957
'CLEANUP_WAITING_WITH_BOTHQ', 'CLEANUP_WITH_BOTHQ',
958
'CLEANUP_WAITING_WITH_BOTHQ',
959
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_BOTHQ',
960
SYS_CLEANUP_FINISHED='READY_WAITING_WITH_BOTHQ',
961
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_BOTHQ',
964
CLEANUP_WITH_NETWORK = SyncDaemonState(
965
'CLEANUP_WITH_NETWORK',
966
'doing cleanup (net hiccup; user asked for shutdown)',
967
'CLEANUP_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
968
'CLEANUP', 'CLEANUP_WITH_NETWORK', 'CLEANUP_WITH_NETWORK',
969
SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK',
970
SYS_CLEANUP_FINISHED='READY_WITH_NETWORK',
971
SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_METAQ',
972
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_CONTQ',
973
SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK',
974
SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK',
977
CLEANUP_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
978
'CLEANUP_WITH_NETWORK_WITH_METAQ',
979
'doing cleanup (net hiccup; user asked for shutdown; meta_q waiting)',
980
'CLEANUP_WITH_NETWORK_WITH_METAQ',
981
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
982
'CLEANUP_WITH_METAQ', 'CLEANUP_WITH_NETWORK_WITH_METAQ',
983
'CLEANUP_WITH_NETWORK_WITH_METAQ',
984
SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_METAQ',
985
SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_METAQ',
986
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
987
SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_METAQ',
990
CLEANUP_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
991
'CLEANUP_WITH_NETWORK_WITH_CONTQ',
992
'doing cleanup (net hiccup; user asked for shutdown; content_q waiting)',
993
'CLEANUP_WITH_NETWORK_WITH_CONTQ',
994
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
995
'CLEANUP_WITH_CONTQ', 'CLEANUP_WITH_NETWORK_WITH_CONTQ',
996
'CLEANUP_WITH_NETWORK_WITH_CONTQ',
997
SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_CONTQ',
998
SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_CONTQ',
999
SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1000
SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK_WITH_CONTQ',
1001
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_CONTQ',
1004
CLEANUP_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
1005
'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1006
'doing cleanup (net hiccup; user asked for shutdown; both _q\'s waiting)',
1007
'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1008
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1009
'CLEANUP_WITH_BOTHQ', 'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1010
'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1011
SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1012
SYS_CLEANUP_FINISHED='READY_WITH_NETWORK_WITH_BOTHQ',
1013
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1016
CLEANUP_WAITING_WITH_NETWORK = SyncDaemonState(
1017
'CLEANUP_WAITING_WITH_NETWORK',
1018
'doing cleanup (network hiccup)',
1019
'CLEANUP_WAITING_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1020
'CLEANUP_WAITING', 'CLEANUP_WITH_NETWORK',
1021
'CLEANUP_WAITING_WITH_NETWORK',
1022
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK',
1023
SYS_CLEANUP_FINISHED='START_CONNECTING',
1024
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1025
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1026
SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1027
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1030
START_CLEANUP_WAITING_WITH_NETWORK = SyncDaemonState(
1031
'CLEANUP_WAITING_WITH_NETWORK',
1032
'doing cleanup (network hiccup)',
1033
'CLEANUP_WAITING_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1034
'CLEANUP_WAITING', 'CLEANUP_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1035
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK',
1036
SYS_CLEANUP_FINISHED='START_CONNECTING',
1037
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1038
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1039
SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1040
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK',
1041
enter=lambda m: m.action_q.cleanup(),
1044
CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ = SyncDaemonState(
1045
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1046
'doing cleanup (network hiccup; meta_q waiting)',
1047
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1048
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1049
'CLEANUP_WAITING_WITH_METAQ', 'CLEANUP_WITH_NETWORK_WITH_METAQ',
1050
'CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1051
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1052
SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_METAQ',
1053
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1054
SYS_CONTENT_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_METAQ',
1057
CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ = SyncDaemonState(
1058
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1059
'doing cleanup (network hiccup; content_q waiting)',
1060
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1061
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1062
'CLEANUP_WAITING_WITH_CONTQ', 'CLEANUP_WITH_NETWORK_WITH_CONTQ',
1063
'CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1064
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1065
SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_CONTQ',
1066
SYS_META_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1067
SYS_META_QUEUE_DONE='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1068
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_CONTQ',
1071
CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ = SyncDaemonState(
1072
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1073
'doing cleanup (network hiccup; both _q\'s waiting)',
1074
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1075
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1076
'CLEANUP_WAITING_WITH_BOTHQ', 'CLEANUP_WITH_NETWORK_WITH_BOTHQ',
1077
'CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1078
SYS_CLEANUP_STARTED='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1079
SYS_CLEANUP_FINISHED='START_CONNECTING_WITH_BOTHQ',
1080
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WAITING_WITH_NETWORK_WITH_BOTHQ',
1085
# XXX CONNECTED_CLEANUP should use the network to do a "better" cleanup
1086
START_CONNECTED_CLEANUP = SyncDaemonState(
1087
'START_CONNECTED_CLEANUP',
1088
'start doing cleanup using the network'
1089
' (not yet implemented; actually starts a plain cleanup)',
1090
'CLEANUP_WITH_NETWORK', 'CLEANUP_WAITING_WITH_NETWORK',
1091
'CLEANUP', 'CLEANUP_WITH_NETWORK', 'CLEANUP_WITH_NETWORK',
1092
SYS_CLEANUP_STARTED='CLEANUP_WITH_NETWORK',
1093
SYS_CLEANUP_FINISHED='READY_WITH_NETWORK',
1094
SYS_META_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_METAQ',
1095
SYS_CONTENT_QUEUE_WAITING='CLEANUP_WITH_NETWORK_WITH_CONTQ',
1096
SYS_META_QUEUE_DONE='CLEANUP_WITH_NETWORK',
1097
SYS_CONTENT_QUEUE_DONE='CLEANUP_WITH_NETWORK',
1098
enter=lambda m: m.action_q.cleanup(),