Commit 5b8cebf
committed
DRY up batched KVStore reads with semaphore-based
Introduce `BatchingStore`, a `KVStore` wrapper that limits concurrent
async I/O via a `tokio::sync::Semaphore`. During initialization the
builder wraps the store in `BatchingStore` so all parallel reads share
a single concurrency cap, rather than each reader maintaining its own
`JoinSet`-based batch queue.
Replace the duplicated ~75-line batching loops in `read_payments` and
`read_pending_payments` with a generic `read_all_objects<T: Readable>`
helper that spawns all reads into a `JoinSet` (relying on the store
wrapper for throttling) and collects deserialized results. Both
functions become thin one-line delegations.
Co-Authored-By: HAL 9000BatchingStore
1 parent 64e3154 commit 5b8cebf
3 files changed
+170
-135
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
81 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
89 | 90 | | |
90 | 91 | | |
91 | 92 | | |
| |||
1265 | 1266 | | |
1266 | 1267 | | |
1267 | 1268 | | |
1268 | | - | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
1269 | 1274 | | |
1270 | 1275 | | |
1271 | 1276 | | |
1272 | 1277 | | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
1276 | 1281 | | |
1277 | 1282 | | |
1278 | 1283 | | |
| |||
1515 | 1520 | | |
1516 | 1521 | | |
1517 | 1522 | | |
1518 | | - | |
| 1523 | + | |
1519 | 1524 | | |
1520 | 1525 | | |
1521 | 1526 | | |
1522 | 1527 | | |
1523 | | - | |
| 1528 | + | |
1524 | 1529 | | |
1525 | 1530 | | |
1526 | 1531 | | |
| |||
1566 | 1571 | | |
1567 | 1572 | | |
1568 | 1573 | | |
1569 | | - | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
1570 | 1578 | | |
1571 | 1579 | | |
1572 | 1580 | | |
| |||
1587 | 1595 | | |
1588 | 1596 | | |
1589 | 1597 | | |
1590 | | - | |
1591 | | - | |
| 1598 | + | |
| 1599 | + | |
1592 | 1600 | | |
1593 | | - | |
| 1601 | + | |
1594 | 1602 | | |
1595 | 1603 | | |
1596 | 1604 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
228 | 232 | | |
| 233 | + | |
| 234 | + | |
229 | 235 | | |
230 | 236 | | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
| 237 | + | |
241 | 238 | | |
242 | 239 | | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
| 240 | + | |
| 241 | + | |
256 | 242 | | |
257 | 243 | | |
258 | | - | |
259 | | - | |
260 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
261 | 247 | | |
262 | | - | |
263 | | - | |
| 248 | + | |
264 | 249 | | |
265 | 250 | | |
266 | 251 | | |
267 | | - | |
268 | | - | |
| 252 | + | |
269 | 253 | | |
270 | 254 | | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
| 255 | + | |
| 256 | + | |
287 | 257 | | |
288 | 258 | | |
289 | | - | |
| 259 | + | |
290 | 260 | | |
291 | | - | |
292 | | - | |
| 261 | + | |
293 | 262 | | |
| 263 | + | |
| 264 | + | |
294 | 265 | | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
299 | 280 | | |
300 | 281 | | |
301 | 282 | | |
| |||
632 | 613 | | |
633 | 614 | | |
634 | 615 | | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
| 616 | + | |
| 617 | + | |
639 | 618 | | |
640 | 619 | | |
| 620 | + | |
641 | 621 | | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
693 | | - | |
694 | | - | |
695 | | - | |
696 | | - | |
697 | | - | |
698 | | - | |
699 | | - | |
700 | | - | |
701 | | - | |
702 | | - | |
| 622 | + | |
703 | 623 | | |
704 | 624 | | |
705 | 625 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
221 | 328 | | |
222 | 329 | | |
223 | 330 | | |
| |||
0 commit comments