Add a message queue

This is intended to be a reliable transport between the processors and
coordinator. Since it'll be intranet only, it's written as never fail.

Primarily needs testing and a proper ID.
This commit is contained in:
Luke Parker
2023-07-01 08:53:46 -04:00
parent a95ecc2512
commit 6267acf3df
11 changed files with 340 additions and 2 deletions

14
message-queue/README.md Normal file
View File

@@ -0,0 +1,14 @@
# Message Log
A message log for various services to communicate over.
Each message is checked to be of the claimed origin. Then, it's added to the
recipient's message queue. This queue is sequentially handled, FIFO, only
dropping messages once the recipient acknowledges it's been handled.
A client which publishes an event specifies its own ID for the publication. If
multiple publications with the same ID occur, they are assumed repeats and
dropped.
This library always panics as its error-cases should be unreachable, given its
intranet status.