mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-05-26 20:34:58 +00:00
improve error handling (#101)
* inventory of error handling problems and types * Change SMP protocol errors syntax * connection errors in agent protocol (ERR CONN), STORE error -> AGENT error * include exception in SEInternal error * add MESSAGE errors, remove CRYPTO and SIZE errors * agent protocol SYNTAX and AGENT errors * BROKER errors * group all client command (and agent response) errors * BROKER TRANSPORT error * simplify Client * clean up * transport errors * simplify client * parse / serialize agent errors * differentiate crypto errors * update errors.md * make agent and SMP protocol errors consistent, simplify * update doc * test: parse / serialize protocol errors with QuickCheck * add String to internal error * exponential back-off when retrying to send HELLO * refactor Client.hs * replace fold with recursion in startTCPClient * fail test if server did not start, refactor * test: wait till TCP server stops * test: refactor waiting for server to stop * test: fail with error if server did not start/stop
This commit is contained in:
committed by
GitHub
parent
9104ff0c4a
commit
5e3bc7ee6c
@@ -32,7 +32,7 @@ instance MonadQueueStore QueueStore STM where
|
||||
addQueue store rKey ids@(rId, sId) = do
|
||||
cs@QueueStoreData {queues, senders} <- readTVar store
|
||||
if M.member rId queues || M.member sId senders
|
||||
then return $ Left DUPLICATE
|
||||
then return $ Left DUPLICATE_
|
||||
else do
|
||||
writeTVar store $
|
||||
cs
|
||||
|
||||
Reference in New Issue
Block a user