reifydb_core/interceptor/
ringbuffer_def.rs1use std::marker::PhantomData;
5
6use crate::{define_api_function, define_closure_interceptor, define_interceptor, interface::RingBufferDef};
7
8define_interceptor!(
10 context: RingBufferDefPostCreateContext<T>,
11 trait: RingBufferDefPostCreateInterceptor,
12 fields: {
13 txn: &'a mut T,
14 post: &'a RingBufferDef}
15);
16
17define_closure_interceptor!(
18 ClosureRingBufferDefPostCreateInterceptor,
19 RingBufferDefPostCreateInterceptor,
20 RingBufferDefPostCreateContext,
21 with_transaction
22);
23
24define_api_function!(
25 ringbuffer_def_post_create,
26 ClosureRingBufferDefPostCreateInterceptor<T, F>,
27 RingBufferDefPostCreateContext<T>
28);
29
30define_interceptor!(
32 context: RingBufferDefPreUpdateContext<T>,
33 trait: RingBufferDefPreUpdateInterceptor,
34 fields: {
35 txn: &'a mut T,
36 pre: &'a RingBufferDef}
37);
38
39define_closure_interceptor!(
40 ClosureRingBufferDefPreUpdateInterceptor,
41 RingBufferDefPreUpdateInterceptor,
42 RingBufferDefPreUpdateContext,
43 with_transaction
44);
45
46define_api_function!(
47 ringbuffer_def_pre_update,
48 ClosureRingBufferDefPreUpdateInterceptor<T, F>,
49 RingBufferDefPreUpdateContext<T>
50);
51
52define_interceptor!(
54 context: RingBufferDefPostUpdateContext<T>,
55 trait: RingBufferDefPostUpdateInterceptor,
56 fields: {
57 txn: &'a mut T,
58 pre: &'a RingBufferDef,
59 post: &'a RingBufferDef}
60);
61
62define_closure_interceptor!(
63 ClosureRingBufferDefPostUpdateInterceptor,
64 RingBufferDefPostUpdateInterceptor,
65 RingBufferDefPostUpdateContext,
66 with_transaction
67);
68
69define_api_function!(
70 ringbuffer_def_post_update,
71 ClosureRingBufferDefPostUpdateInterceptor<T, F>,
72 RingBufferDefPostUpdateContext<T>
73);
74
75define_interceptor!(
77 context: RingBufferDefPreDeleteContext<T>,
78 trait: RingBufferDefPreDeleteInterceptor,
79 fields: {
80 txn: &'a mut T,
81 pre: &'a RingBufferDef}
82);
83
84define_closure_interceptor!(
85 ClosureRingBufferDefPreDeleteInterceptor,
86 RingBufferDefPreDeleteInterceptor,
87 RingBufferDefPreDeleteContext,
88 with_transaction
89);
90
91define_api_function!(
92 ringbuffer_def_pre_delete,
93 ClosureRingBufferDefPreDeleteInterceptor<T, F>,
94 RingBufferDefPreDeleteContext<T>
95);
96
97use crate::impl_register_interceptor;
98
99impl_register_interceptor!(
100 ClosureRingBufferDefPostCreateInterceptor<T, F>,
101 RingBufferDefPostCreateContext<T>,
102 RingBufferDefPostCreateInterceptor,
103 ringbuffer_def_post_create
104);
105
106impl_register_interceptor!(
107 ClosureRingBufferDefPreUpdateInterceptor<T, F>,
108 RingBufferDefPreUpdateContext<T>,
109 RingBufferDefPreUpdateInterceptor,
110 ringbuffer_def_pre_update
111);
112
113impl_register_interceptor!(
114 ClosureRingBufferDefPostUpdateInterceptor<T, F>,
115 RingBufferDefPostUpdateContext<T>,
116 RingBufferDefPostUpdateInterceptor,
117 ringbuffer_def_post_update
118);
119
120impl_register_interceptor!(
121 ClosureRingBufferDefPreDeleteInterceptor<T, F>,
122 RingBufferDefPreDeleteContext<T>,
123 RingBufferDefPreDeleteInterceptor,
124 ringbuffer_def_pre_delete
125);