Commit Graph

31 Commits

Author SHA1 Message Date
Philip O'Toole
6b049dbfce Add Reset to atomic monotonic 2024-10-15 08:49:46 -04:00
Philip O'Toole
030392ffb3 Add monotonic atomic uint64 2024-10-15 08:44:43 -04:00
Philip O'Toole
176b9aec55 Update state_test.go 2024-10-08 22:48:12 -04:00
Philip O'Toole
5e8ceb6388 Update state_test.go 2024-10-08 22:45:09 -04:00
Philip O'Toole
aeff69e70d Update state.go 2024-10-08 22:39:22 -04:00
Philip O'Toole
45d4de5480 Add CloseOrTimeout utility to rsync module 2024-10-08 21:43:12 -04:00
Philip O'Toole
711eebf46a Merge branch 'master' into poll-true-prim 2024-09-30 19:28:17 -04:00
Philip O'Toole
9710ccc040 Add ReadyTrue prim 2024-09-30 19:05:54 -04:00
Philip O'Toole
6422429692 Better tests 2024-09-30 18:53:41 -04:00
Philip O'Toole
f3c213dcbb Unit test reset of ReadyTarget 2024-09-30 18:50:43 -04:00
Philip O'Toole
e6b3338371 Reset ReadyTargets 2024-09-30 13:47:08 -04:00
Philip O'Toole
7cfb82f50a Fix race in test 2024-09-30 10:04:11 -04:00
Philip O'Toole
fa68284be5 Parallel ReadyTarget tests 2024-09-30 09:26:10 -04:00
Philip O'Toole
07083a0206 ReadyTarget uses Generics 2024-09-30 09:22:29 -04:00
Philip O'Toole
015b583549 Minor improvements 2024-09-30 09:16:53 -04:00
Philip O'Toole
b947a4206f Add ReadyTarget synchronization primitive 2024-09-30 09:13:44 -04:00
Philip O'Toole
8c02c0e07f Trigger full snapshot if database file is modified 2024-09-27 00:43:49 -04:00
Philip O'Toole
bb2078fc3b Factor out ReadyChans 2024-09-25 07:47:14 -04:00
Philip O'Toole
3746edd4cf CHANGELGO 2024-09-23 18:49:31 -04:00
Philip O'Toole
a2525ff739 Remove unnecessary comments 2024-09-20 08:43:13 -04:00
Philip O'Toole
273a7e8628 Add CAS retry 2024-09-19 16:56:18 +00:00
Philip O'Toole
a78d3c6efe Simplify CAS implementation 2024-07-01 22:00:43 -04:00
Philip O'Toole
c0e0636b30 Include how long the CAS has been held 2024-07-01 14:29:37 -04:00
Philip O'Toole
c50efbdd85 Return more informative CAS conflict error 2024-07-01 14:25:04 -04:00
Philip O'Toole
979ea67e79 Associate owners with CAS 2024-06-19 22:12:39 -04:00
Philip O'Toole
178af5f015 MRSW doesn't need channels 2024-05-04 16:25:28 -04:00
Philip O'Toole
5fb0704a9e Replace context with simple close 2024-05-04 15:27:49 -04:00
Philip O'Toole
ba0e10e80a GoDoc 2024-05-04 15:05:28 -04:00
Philip O'Toole
bf16d1a606 Move from CAS to MSRW for Snapshot sync
This allows multiple Snapshots readers to be opened, but still ensures
that a single active writer blocks both readers and writes. It's
possible that a node might have to send Snapshots to multiple other
nodes concurrently, so this change allows that.
2024-05-04 15:02:15 -04:00
Philip O'Toole
58e8384c6a Add multi-reader, single-writer type
This is like a RWMutex, but doesn't block if the mutex is unavailable.
Instead it returns an error.
2024-05-04 14:47:03 -04:00
Philip O'Toole
ea42bd5c55 Use Check-And-Set instead of mutexes 2024-05-03 15:25:12 -04:00