Dispatch a single write event: triggers, CDC, permission cache, streaming MVs, CRDT sync. Called for both Normal-mode ring-buffer events and WAL-catchup-replayed events.
(
event: &WriteEvent,
shared_state: &Arc<SharedState>,
retry_queue: &mut TriggerRetryQueue,
cdc_router: &Arc<super::cdc::CdcRouter>,
)
| 138 | /// |
| 139 | /// Called for both Normal-mode ring-buffer events and WAL-catchup-replayed events. |
| 140 | pub async fn dispatch_event( |
| 141 | event: &WriteEvent, |
| 142 | shared_state: &Arc<SharedState>, |
| 143 | retry_queue: &mut TriggerRetryQueue, |
| 144 | cdc_router: &Arc<super::cdc::CdcRouter>, |
| 145 | ) { |
| 146 | shared_state |
| 147 | .watermark_tracker |
| 148 | .advance_lsn_only(event.vshard_id.as_u32(), event.lsn.as_u64()); |
| 149 | |
| 150 | super::trigger::dispatcher::dispatch_triggers(event, shared_state, retry_queue).await; |
| 151 | cdc_router.route_event(event, &shared_state.watermark_tracker); |
| 152 | } |
| 153 | |
| 154 | /// Dispatch a data write event (op.is_data_event() == true): advances wall-time watermark, |
| 155 | /// batches triggers, routes CDC, updates permission cache, feeds streaming MVs and CRDT sync. |
no test coverage detected