Commit graph

5153 commits

Author SHA1 Message Date
Evgeny Poberezkin
df181bb0f0 docs: add correlation IDs to examples 2020-12-28 16:28:57 +00:00
Evgeny Poberezkin
b399ee78da update readme 2020-10-22 14:13:06 +01:00
Evgeny Poberezkin
d6d23bcac9 update protocol to use term "queue" to mean "SMP connection", CONN -> NEW 2020-10-22 11:29:48 +01:00
Evgeny Poberezkin
9b3c63deaa readme corrections 2020-10-18 21:31:51 +01:00
Evgeny Poberezkin
11580d9938 docs: readme, system design 2020-10-18 21:28:37 +01:00
Evgeny Poberezkin
d0b959168a LF -> CRLF 2020-10-18 12:50:14 +01:00
Evgeny Poberezkin
6ad32cf7cf corrections 2020-10-17 21:58:03 +01:00
Evgeny Poberezkin
5e19d9a801 add subscription END notification, corrections 2020-10-17 21:09:49 +01:00
Evgeny Poberezkin
f8b9c5937c change command names and errors 2020-10-15 15:47:47 +01:00
Evgeny Poberezkin
662717a25b initial 2020-10-11 11:00:25 +01:00
Evgeny Poberezkin
4d6fce970a update syntax 2020-10-10 22:16:36 +01:00
Evgeny Poberezkin
59b475a5cd
unify and simplify SMP (#38)
* unify and simplify SMP

* use cameCase in ABNFs

* update diagrams

* update ABNF RFC

* update protocol syntax

* table of contents
2020-10-10 21:47:17 +01:00
Evgeny Poberezkin
722286e495
Update readme.md 2020-10-08 08:00:44 +01:00
Evgeny Poberezkin
82570826ca
Create FUNDING.yml 2020-09-30 20:11:57 +01:00
Evgeny Poberezkin
53d598cdc2
Connection type (#36)
* use protocol package

* Connection, Invitation types

* remove idris code
2020-07-16 19:32:36 +01:00
Evgeny Poberezkin
3d7992835f rename to runProtocol, remove ProtocolCmd constructor export 2020-07-12 19:13:45 +01:00
Evgeny Poberezkin
f97a7885a0 refactor protocol interpreter 2020-07-12 19:02:56 +01:00
Evgeny Poberezkin
9eec22ca43 rename type paarameters 2020-07-12 15:18:32 +01:00
Evgeny Poberezkin
bedcd0fa50 stack error messages 2020-07-12 10:36:00 +01:00
Evgeny Poberezkin
ac79fe45c2 print allow comments 2020-07-12 10:28:13 +01:00
Evgeny Poberezkin
85b10f08ae unused pragma 2020-07-12 09:48:00 +01:00
Evgeny Poberezkin
2b07f80828 all parties have resource state of the same kind 2020-07-12 09:45:55 +01:00
Evgeny Poberezkin
cf3afbac8a style: split lines 2020-07-11 20:40:34 +01:00
Evgeny Poberezkin
616e39eda2 Merge branch 'master' of github.com:simplex-chat/protocol 2020-07-11 20:38:05 +01:00
Evgeny Poberezkin
b5a04ad178
Control.Protocol (#35)
* polysemy effects

* exctract Protocol abstraction

* refactor: use Control.Protocol

* better type errors
2020-07-11 20:27:23 +01:00
Evgeny Poberezkin
36d12a505b polysemy effects 2020-07-11 12:30:01 +01:00
Evgeny Poberezkin
7b7f4b23ff refactor: AllowedStates 2020-07-10 16:01:41 +01:00
Evgeny Poberezkin
283eacd9a5 stricter Enabled 2020-07-10 14:50:52 +01:00
Evgeny Poberezkin
b19b5be50e refactor: group Command parameters, do syntax in scenarios 2020-07-10 12:36:14 +01:00
Evgeny Poberezkin
063b7286e2 refactor: make Protocol a freer parameterized monad 2020-07-10 11:54:09 +01:00
Evgeny Poberezkin
cffb8bd11a refactor: make Protocol closer to parameterized monad 2020-07-10 11:13:01 +01:00
Evgeny Poberezkin
d74c109328 use ExceptT 2020-05-31 22:37:08 +01:00
Evgeny Poberezkin
cc55bf3e6b
Different approach to commands (#34)
* different approach to command types (WIP)

* PartyProtocol class and other commands

* pretty-print scenarion

* remove old files

* remove unused prf/predicate templates

* remove NoImplicitePrelude from doctest (although there are no doctests atm)
2020-05-31 21:51:15 +01:00
Evgeny Poberezkin
dc7835992c remove Drained state 2020-05-25 09:20:22 +01:00
Evgeny Poberezkin
bdec751725
Instance template (#33)
* protocol instance template [WIP]

* protocol instances template

* add methods to check correctness of participant types in protocol TH

* PushConfirm and and PushMsg implementation types

* check Command type + doctest
2020-05-14 21:30:37 +01:00
Evgeny Poberezkin
aa2ac80cf9 simplify predicate template 2020-05-13 11:47:24 +01:00
Evgeny Poberezkin
a9565a5754 predicate template to add Auto instances 2020-05-12 19:27:08 +01:00
Evgeny Poberezkin
223931bc93 Subscribe recipient command stub 2020-05-11 20:51:08 +01:00
Evgeny Poberezkin
6eb75a5bdb type classes to ensure consistency of implementation types with command types 2020-05-11 20:45:17 +01:00
Evgeny Poberezkin
f07f99c94f instance PrfCommand for CreateConn command [WIP - not working yet] 2020-05-11 08:27:34 +01:00
Evgeny Poberezkin
f52ce87a89 type classes to ensure consistency of implementation types with the protocol 2020-05-10 20:51:03 +01:00
Evgeny Poberezkin
eb5e99710f change scenario syntax 2020-05-10 14:16:37 +01:00
Evgeny Poberezkin
08274c9b52 track connection message count in type, remove ticks from promoted constructors 2020-05-10 12:13:24 +01:00
Evgeny Poberezkin
fbafaa8ac5 add recipient/broker subscription state to protocol command type 2020-05-10 11:10:34 +01:00
Evgeny Poberezkin
f3f39e760a refine definition of Subscribe to prevent subscription in None and Disabled states 2020-05-10 09:50:09 +01:00
Evgeny Poberezkin
7520c681da establishConnection protocol flow 2020-05-09 23:23:18 +01:00
Evgeny Poberezkin
f9e75aebeb protocol commands 2020-05-09 21:30:39 +01:00
Evgeny Poberezkin
53055dcae6 Show and Eq instances 2020-05-09 14:15:04 +01:00
Evgeny Poberezkin
3923de9b49 change data familiy to type family 2020-05-09 13:40:32 +01:00
Evgeny Poberezkin
7dce45ea2a add comment 2020-05-09 13:28:05 +01:00