1
0
forked from Alepha/Alepha
Commit Graph

19 Commits

Author SHA1 Message Date
8ccd3d0da0 Switch the dead drop to use a circular buffer.
Closes: #16
2025-01-20 14:15:29 -05:00
97050bf5f1 Dangit! Forgot the test. 2024-07-29 15:51:50 -04:00
c5d1079deb Flesh out the weight computation for Dropbox 2024-07-25 22:11:23 -04:00
4045c30021 Switch the dead drop to use a circular buffer. 2024-05-24 13:34:42 -04:00
08654a9a86 Deal with last-item-in-the-queue bug. 2024-01-06 01:46:34 -05:00
da34142bf1 Fix stalls due to lacking custom terminal notifications.
`Dropbox` and `Mailbox` should be roughly the same interface, but
with different stall semantics.  However, terminal operations don't
wait.  `finish( custom )` should be a handoff without wait.

`Dropbox`'s primary thread-coordination works in terms of an
acquire/release semantic whereby `release` doesn't block, so this
naturally works.  However, `Mailbox` works in terms of the `Interlock`
primitive which allows for a terminal-case `checkpoint`.  Therefore
`finish( custom )` has to call the `checkpoint` api in `Mailbox`
2024-01-05 23:57:47 -05:00
5a67b8d0ec Make an observer const. 2024-01-05 14:28:15 -05:00
45f48df5a9 Unify would block names. 2024-01-04 01:06:03 -05:00
005b5f8730 Mailbox wouldBlock primitive. 2024-01-04 00:37:46 -05:00
7253432198 Add a new mailbox alternative 2024-01-03 23:57:31 -05:00
8ce3bd8bdf Add notification primitive to Mailbox. 2024-01-02 04:59:54 -05:00
c04fc7be3c Non-blocking states and documentation for Interlock. 2023-12-12 23:56:17 -05:00
94596d0d7d Interlock for mailbox. 2023-12-12 17:37:03 -05:00
b24b927b67 Make debugging for mailbox silent. 2023-11-29 19:00:26 -05:00
3b707be882 Missing #pragma once. 2023-11-29 08:09:52 -05:00
ad7f118785 Get everything building again. 2023-11-19 00:44:39 -05:00
3e340f414a Mailbox doesn't use Event. 2023-11-18 23:06:39 -05:00
4426fc2857 Mailbox has been modernized. 2023-11-16 07:32:56 -05:00
adbbdf940f I found the original Mailbox implementation from over a decade ago. 2023-11-08 00:22:06 -05:00