The implementation contained within Subverse.Server requires a persistent, unordered message queue via IMessageQueue that has the following requirements. It:
Can be accessed concurrently by different threads within the server process
Can be queried and filtered by key, that being the intended recipient of the message at the time that it was queued
Must be efficient:
Time to dequeue a message by key should be O(log n)
Time to dequeue a message without a specific key should be O(1)
Additional requirements:
Backing store must be encrypted
Backing store must be persistent between server process & machine restarts
The implementation contained within Subverse.Server requires a persistent, unordered message queue via
IMessageQueue
that has the following requirements. It:Additional requirements: