Commit Graph

  • 5d2e77f41d test: agent SQLite createRcvConnection Evgeny Poberezkin 2021-01-04 20:25:02 +00:00
  • f8e25189db move all tests from main Test to ServerTests Evgeny Poberezkin 2021-01-04 18:49:28 +00:00
  • 2e761b20f6 remove commented queries Efim Poberezkin 2021-01-04 18:01:11 +04:00
  • 9a1ffb349a add insertSndQueue, insertSndConnection and implementation of createSndConn Efim Poberezkin 2021-01-04 17:48:29 +04:00
  • 15cf2e9fff upsertServer: use select to get server ID Evgeny Poberezkin 2021-01-04 10:39:20 +00:00
  • 650971fa02 method to insert connection (#3) Evgeny Poberezkin 2021-01-03 18:05:50 +00:00
  • 3d4f43a051 add NOT NULL constraints Evgeny Poberezkin 2021-01-03 12:47:12 +00:00
  • 6526e421e8 insertWithLock Evgeny Poberezkin 2021-01-03 11:44:07 +00:00
  • 48967167c4 add table mutexes for insert queries (to get inserted ID thread-safely via single connection) Evgeny Poberezkin 2021-01-03 11:31:06 +00:00
  • d260a464d6 add error handling, function to process SMP responses Evgeny Poberezkin 2021-01-03 10:42:41 +00:00
  • 24bca7650e throw exception from Transport.StartTCPClient when no provided address works (and on empty list of addresses) Evgeny Poberezkin 2021-01-02 16:55:43 +00:00
  • 42ab7fb6ac test against localhost Evgeny Poberezkin 2020-12-30 21:26:46 +00:00
  • 80b4ff365d TCP client: try all resolved addresses, not just the first Evgeny Poberezkin 2020-12-30 21:25:49 +00:00
  • f3cd3eac58 add protocol version in TCP welcome Evgeny Poberezkin 2020-12-30 18:50:50 +00:00
  • 3c1834f93f implement addServer command Efim Poberezkin 2020-12-30 18:54:17 +04:00
  • 44b58a5bf0 fix: agent communicates with local SMP server Evgeny Poberezkin 2020-12-29 21:21:51 +00:00
  • cdf8695bef send NEW command to SMP server (response is not received for some reason...) Evgeny Poberezkin 2020-12-29 20:50:33 +00:00
  • d6e1aeacdf write null sender queue on initial connection insert Efim Poberezkin 2020-12-29 22:19:20 +04:00
  • 92d170f178 add queries drafts for insertion of server, queue, connection Efim Poberezkin 2020-12-29 21:29:21 +04:00
  • fdf35ba214 stub function to process client commands Evgeny Poberezkin 2020-12-29 13:32:45 +00:00
  • 9d15035fb3 client/agent transmission types, parse NEW/INV commands Evgeny Poberezkin 2020-12-29 13:10:55 +00:00
  • dabef7f0d1 use quasiqoutes for queries Evgeny Poberezkin 2020-12-28 21:23:28 +00:00
  • cf38b4dddf agent: Transmission type Evgeny Poberezkin 2020-12-28 20:42:38 +00:00
  • c47f583574 add unique constraints todo Efim Poberezkin 2020-12-28 23:50:04 +04:00
  • dea5c6478a change fields to blobs Efim Poberezkin 2020-12-28 23:32:05 +04:00
  • 205c6bf117 add servers table to database Efim Poberezkin 2020-12-28 22:06:01 +04:00
  • 87f2c20ee4 type CorrelationId -> newtype CorrId (to avoid incorrect order in tuple) Evgeny Poberezkin 2020-12-28 17:41:30 +00:00
  • a61d97aee0 rename Agent/Command -> Agent/Transmission Evgeny Poberezkin 2020-12-28 17:08:48 +00:00
  • 43baacc5be move SMP server specific methods from Transport to Server/Transmission Evgeny Poberezkin 2020-12-28 17:07:11 +00:00
  • d95936a770 Merge pull request #2 from simplex-chat/correlation-id Evgeny Poberezkin 2020-12-28 16:56:03 +00:00
  • f61ad27fcd docs: add correlation IDs to examples Evgeny Poberezkin 2020-12-28 16:28:57 +00:00
  • 7f1d3da202 refactor msgResp helper function Evgeny Poberezkin 2020-12-28 16:24:58 +00:00
  • e7581a91a8 test: update tests to include correclation ID in the tests themselves Evgeny Poberezkin 2020-12-28 15:39:28 +00:00
  • 4b8f6417f8 add correlationId to SMP transmissions, fix tests Evgeny Poberezkin 2020-12-28 13:55:53 +00:00
  • 02cb6068a2 create all tables Evgeny Poberezkin 2020-12-27 21:32:30 +00:00
  • 9d8df33cf7 delete agent database from source Evgeny Poberezkin 2020-12-27 21:28:30 +00:00
  • a6bd03bf99 add agent ddl draft Efim Poberezkin 2020-12-27 22:06:37 +04:00
  • e418498334 move queries to code Evgeny Poberezkin 2020-12-27 12:48:02 +00:00
  • 18ab9650b4 move queries to code Evgeny Poberezkin 2020-12-27 12:47:39 +00:00
  • 7bcd5ebcef agent: creating schema Evgeny Poberezkin 2020-12-27 10:26:08 +00:00
  • a3b53f68c5 empty database schema Evgeny Poberezkin 2020-12-26 21:22:17 +00:00
  • 501e8a140a rename Env.hs -> Env/SQLite.hs Evgeny Poberezkin 2020-12-26 13:01:57 +00:00
  • 027b91098d MonadAgentStore class Evgeny Poberezkin 2020-12-26 12:55:23 +00:00
  • f7e0b26297 rename Agent/ConnStore -> Agent/Store Evgeny Poberezkin 2020-12-26 11:06:21 +00:00
  • c195c79367 SMP agent: data types for connections and message delivery Evgeny Poberezkin 2020-12-26 10:58:50 +00:00
  • 2a87a1b5c9 diagram: invalid syntax response without roundtrip Evgeny Poberezkin 2020-12-25 22:07:30 +00:00
  • d4c4c467f4 diagram: agent replies invalid commands without roundtrip Evgeny Poberezkin 2020-12-25 21:59:36 +00:00
  • 14d7619bbf comments to commands flow Evgeny Poberezkin 2020-12-25 21:44:02 +00:00
  • c5a8bf6f40 SMP agent: receive/send via TCP and queues Evgeny Poberezkin 2020-12-25 21:36:51 +00:00
  • 2362a22f7a diagram: 1 commands queue per SMP queue to correlate commands with responses Evgeny Poberezkin 2020-12-25 20:54:20 +00:00
  • b234c0afee started SMP agent Evgeny Poberezkin 2020-12-25 16:46:02 +00:00
  • 2ed24e683e rename Config to ServerConfig Evgeny Poberezkin 2020-12-25 14:21:28 +00:00
  • 6249bf749e fix SMP command mentioned in Duplex subscribe Efim Poberezkin 2020-12-25 19:18:37 +04:00
  • 990ff1d7ed describe subscribe command Efim Poberezkin 2020-12-25 19:05:07 +04:00
  • c35b838e06 remove list from commands Efim Poberezkin 2020-12-25 18:16:20 +04:00
  • 77a532ff13 mark agent commands description as outdated Efim Poberezkin 2020-12-25 18:14:44 +04:00
  • 3eb33363a0 update diagram Evgeny Poberezkin 2020-12-25 13:34:45 +00:00
  • c53cbac8d2 diagram: move command corellation to the client group Evgeny Poberezkin 2020-12-25 13:30:48 +00:00
  • f20593c422 diagram: remove access to persistence from server thread Evgeny Poberezkin 2020-12-25 10:51:02 +00:00
  • 456eb0634f design comparison Evgeny Poberezkin 2020-12-25 10:10:51 +00:00
  • e2a4f09684 alternative agent design Evgeny Poberezkin 2020-12-25 10:02:14 +00:00
  • fe66b35192 added answers to commands flow questions Evgeny Poberezkin 2020-12-24 20:55:30 +00:00
  • 42aec97cd3 types for agent commands, responses and messages sent to another agent Evgeny Poberezkin 2020-12-24 20:43:10 +00:00
  • 10b109e384 prepare QA sections for agent commands Efim Poberezkin 2020-12-24 22:16:04 +04:00
  • e3ea6aa245 add description and flow of SMP agent commands, WIP Efim Poberezkin 2020-12-24 21:57:08 +04:00
  • 968f3b605a update agent diagram, remove client library diagram Evgeny Poberezkin 2020-12-23 21:55:54 +00:00
  • 716a8a2067 diagrams for client Evgeny Poberezkin 2020-12-22 20:33:34 +00:00
  • 3cb2421373 move modules to folder Simplex.Messaging.Server Evgeny Poberezkin 2020-11-22 18:22:20 +00:00
  • 64362fe013 update readme v0.1.0 Evgeny Poberezkin 2020-10-22 14:13:06 +01:00
  • 6005bdc053 update diagram Evgeny Poberezkin 2020-10-22 13:57:45 +01:00
  • 35f83b604a rename "connection" to "queue" Evgeny Poberezkin 2020-10-22 12:50:55 +01:00
  • 28a3db5edc update protocol to use term "queue" to mean "SMP connection", CONN -> NEW Evgeny Poberezkin 2020-10-22 11:29:48 +01:00
  • 480ff86907 move Main to apps/smp-server Evgeny Poberezkin 2020-10-21 19:04:15 +01:00
  • 3d322f5fcf test: error when ACK is sent without message Evgeny Poberezkin 2020-10-21 18:17:11 +01:00
  • 527a22c1ef delete messages when SMP queue/connection is deleted; refactor Evgeny Poberezkin 2020-10-21 17:30:39 +01:00
  • caaa18a95a move connection store to STM Evgeny Poberezkin 2020-10-21 11:22:00 +01:00
  • 0c17422fa1 move message store to STM Evgeny Poberezkin 2020-10-21 10:32:29 +01:00
  • ca95a9fbfe remove unused diagrams Evgeny Poberezkin 2020-10-21 10:09:39 +01:00
  • 2527cf8a65 cancel subscribers when client disconnects, reject ACK if MSG was not delivered Evgeny Poberezkin 2020-10-21 10:08:50 +01:00
  • ff49009be1 message delivery flow Evgeny Poberezkin 2020-10-19 08:43:36 +01:00
  • 7c5dc31d1a docs: update diagram 2 Evgeny Poberezkin 2020-10-18 21:38:30 +01:00
  • c682c78245 docs: update diagram Evgeny Poberezkin 2020-10-18 21:36:23 +01:00
  • d54d52b9bb readme corrections Evgeny Poberezkin 2020-10-18 21:31:51 +01:00
  • 295b14e2e5 docs: readme, system design Evgeny Poberezkin 2020-10-18 21:28:37 +01:00
  • efe799f460 LF -> CRLF Evgeny Poberezkin 2020-10-18 12:50:14 +01:00
  • 284289e4ae send CRLF, allow CRLF in input Evgeny Poberezkin 2020-10-18 12:47:12 +01:00
  • b3c6842843 refactor: replace singletons package with ad-hoc singletons pattern Evgeny Poberezkin 2020-10-18 11:19:30 +01:00
  • acef2bf638 tests: deleting undelivered messages, re-delivery when message not ACKed Evgeny Poberezkin 2020-10-18 10:15:30 +01:00
  • f8aa11f419 corrections Evgeny Poberezkin 2020-10-17 21:58:03 +01:00
  • adc8af16b3 add subscription END notification, corrections Evgeny Poberezkin 2020-10-17 21:07:15 +01:00
  • 3012d4586f test: switching subscription to another TCP connection Evgeny Poberezkin 2020-10-17 20:10:40 +01:00
  • 0dec506ce6 test: duplex communication over 2 SMP connections Evgeny Poberezkin 2020-10-17 19:42:15 +01:00
  • eba6dfc343 make sizes of IDs a server configuration Evgeny Poberezkin 2020-10-17 18:13:20 +01:00
  • 98a85ddf5d load 3 lines before parsing Evgeny Poberezkin 2020-10-17 17:29:23 +01:00
  • 3255682bf2 use base64 encoded IDs and bytestrings instead of strings Evgeny Poberezkin 2020-10-17 15:01:25 +01:00
  • 5a0402d0c4 random connection and message IDs Evgeny Poberezkin 2020-10-17 11:07:09 +01:00
  • ee40927506 random connection and message IDs Evgeny Poberezkin 2020-10-17 11:03:38 +01:00
  • 37eb4e7b71 remove connection ID from IDS response Evgeny Poberezkin 2020-10-17 08:05:22 +01:00
  • 9efcde6f57 fix: killing subscriber when smp connection is SUBd in another tcp connection Evgeny Poberezkin 2020-10-16 22:29:21 +01:00
  • 6d12adad94 refactor server and store Evgeny Poberezkin 2020-10-16 21:33:17 +01:00