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
// Copyright 2024-2026 Hugo Osvaldo Barrera
//
// SPDX-License-Identifier: EUPL-1.2
//! Monitor a storage for changes as they occur.
use BoxFuture;
use crateHref;
/// Monitors a storage for live events.
///
/// Implementations shall yield [`Event::General`] whenever changes have happened, but the
/// underlying interfaces don't provide enough information to determine which items changed.
/// This includes (but is not limited to) disconnection or buffer full.
///
/// Monitors MUST yield events for changes that have occurred since the last access to this
/// storage. If this is unknown (e.g.: no state is preserved between executions), an
/// [`Event::General`] must be emitted immediately upon the first call to
/// [`StorageMonitor::next_event`].
///
/// # See also
///
/// - [[`Storage::monitor`][crate::base::Storage::monitor]
/// Event yielded when monitoring a storage.
///
/// Returned by [`StorageMonitor::next_event`]
/// Specific event on a given resource or collection.
///
/// See also: [`Event`].
/// Kind of event.
///
/// See: [`SpecificEvent`].