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