Commit Graph

246 Commits

Author SHA1 Message Date
Emery Hemingway c1c5333778 Protocol changes 2024-01-01 20:29:54 +02:00
Emery Hemingway 1e107131d8 WiP! Value transition 2024-01-01 20:20:44 +02:00
Emery Hemingway a0355637d8 Fix patterns grab recursion 2023-12-31 20:06:12 +02:00
Emery Hemingway c0cff79313 Migrate to non-generic Preserves 2023-12-31 19:17:44 +02:00
Emery Hemingway b5aa2a7b8f Grab values with `?` and types with `?:`
In this case it must be explicit if a proc is taking a value or a
type.
2023-12-30 17:57:37 +02:00
Emery Hemingway 8f6da89d69 Preserves now has a register type 2023-12-30 13:19:56 +02:00
Emery Hemingway 8a7cc884fe Export newFacet 2023-11-08 15:06:59 +00:00
Emery Hemingway 23c69f63a5 Export depattern proc 2023-11-07 17:33:27 +00:00
Emery Hemingway 8bc0ee2ae5 relays: publish gatekeeper rather then pass by future 2023-11-02 15:47:53 +00:00
Emery Hemingway 090b4d77ef Move projectPath into Preserves library 2023-10-28 00:25:58 +01:00
Emery Hemingway 00609f3b6f Fix protocol 2023-10-28 00:25:13 +01:00
Emery Hemingway 577490701a Fix runActor exit 2023-10-26 13:13:03 +01:00
Emery Hemingway 843252ad61 Patterns: preserve the value of Literal 2023-10-26 13:12:31 +01:00
Emery Hemingway 311b614979 Move route finding into syndicate/relays 2023-10-21 17:38:59 +01:00
Emery Hemingway 5b373e3047 Let the skeletons have empty nodes sometimes 2023-10-20 13:33:26 +01:00
Emery Hemingway ec8e166099 Cleanup timer patterns 2023-10-20 13:32:58 +01:00
Emery Hemingway a987f875a9 Print the pattern of problematic captures 2023-10-20 13:30:24 +01:00
Emery Hemingway 4a6e95bbce patterns: add Literal[T] type for literal capture 2023-10-15 12:11:10 +01:00
Emery Hemingway 3a04fc195b relays: add resolve proc 2023-10-14 00:47:16 +01:00
Emery Hemingway 552e51899c Move relays out of top module, clean exports there 2023-10-05 18:01:23 +01:00
Emery Hemingway d86ef24c01 Move mint utility to syndicate_utils 2023-08-25 18:31:49 +01:00
Emery Hemingway dcd6bfe99b patterns: fix a regression in field injection 2023-08-23 10:35:12 +01:00
Emery Hemingway 73d29da071 Remove broken patterns example 2023-08-16 09:38:23 +01:00
Emery Hemingway 66f435a279 Regenerate protocols 2023-08-16 09:36:43 +01:00
Emery Hemingway ce6d97c1d3 Replace ByteAddress with uint 2023-08-05 20:29:26 +01:00
Emery Hemingway f78308765e Associate relay futures with actor turns 2023-08-01 11:05:52 +01:00
Emery Hemingway ba2ea5d08b Expose bindings values in during, onPublish, and onMessage 2023-08-01 11:05:07 +01:00
Emery Hemingway 9c5e26e8f1 Patterns sugar 2023-07-26 11:01:56 +01:00
Emery Hemingway 8fc9608199 patterns: grabRecord, grabDictionary 2023-07-25 18:58:55 +01:00
Emery Hemingway ce8e800187 Rename Ref to Cap 2023-07-25 18:17:55 +01:00
Emery Hemingway 4e0a36ef31 skeletons: implement assertion removal 2023-07-25 18:17:55 +01:00
Emery Hemingway 16cc5aaf98 patterns: sort dictionary keys during analysis 2023-07-23 08:38:40 +01:00
Emery Hemingway 7b2d59e4cd Make runActor sleep on timers to keep asyncdispatch active 2023-07-23 08:29:45 +01:00
Emery Hemingway 7f903a14d7 Correct addCallback for returning Future values 2023-07-23 08:29:08 +01:00
Emery Hemingway 4b29fc009b Return an Actor from spawn 2023-07-22 11:32:52 +01:00
Emery Hemingway 248d34ce69 Refactor syndicate macros
This unifies some code generation for onPublish, onMessage, and
during. The message macro now accepts a body without arguments
in the same way as the other two.
2023-07-21 20:35:53 +01:00
Emery Hemingway 146b30ed42 Refactor skeletons 2023-07-21 13:24:43 +01:00
Emery Hemingway ca12c1ae03 Rewrite timers 2023-07-20 19:17:57 +01:00
Emery Hemingway 9614955320 Tracing 2023-07-20 19:17:57 +01:00
Emery Hemingway 7fec2d61ac Actors lineages share a handle allocator
For multiple actors to communicate through the same relay they
must use unique assertion handles.
2023-07-20 19:17:57 +01:00
Emery Hemingway 76d550602f Document relays a bit 2023-07-20 19:17:57 +01:00
Emery Hemingway 91a218f7fb Actors lineages share a handle allocator
For multiple actors to communicate through the same relay they
must use unique assertion handles.
2023-07-12 15:16:20 +01:00
Emery Hemingway b1b0477b8a Add addCallback variant that passes on the value of a Future 2023-07-12 15:15:39 +01:00
Emery Hemingway 170f49693c Reuse caller turn symbol in DSL macros 2023-06-30 10:05:42 +01:00
Emery Hemingway 219286a84a Recommend runDataspace, not bootDataspace 2023-06-30 09:51:49 +01:00
Emery Hemingway 8bb9fb16d7 patterns: inject variant for dictionaries 2023-06-11 21:22:10 +01:00
Emery Hemingway fc94fa39d8 terminate: fix off-by-inifinity bug 2023-06-11 21:21:07 +01:00
Emery Hemingway 2f4552e7fe patterns: raise uncatchable error for set patterns 2023-06-10 21:27:54 +01:00
Emery Hemingway 0089e1f413 connectStdio: do not constrain receive buffer size 2023-06-10 21:26:20 +01:00
Emery Hemingway 7a36a6e8a4 patterns: unpackLiterals more 2023-06-10 01:00:12 +01:00
Emery Hemingway 209ae51580 patterns: inject into <bind …> 2023-06-08 14:15:03 +01:00
Emery Hemingway aff3061506 Improve error message for pattern and handler mismatch 2023-06-08 14:14:34 +01:00
Emery Hemingway 1dd197f102 Add unpackLiterals proc to patterns module 2023-05-30 13:15:47 +01:00
Emery Hemingway 81ec3808a6 Adjust to new syndicate-protocols 2023-05-18 12:22:55 +01:00
Emery Hemingway ad076bdfed actors: tweak addCallback(…) and add onStop(…) 2023-05-17 10:42:54 +01:00
Emery Hemingway f1cc7b336b Build different protocol modules 2023-05-11 22:31:57 +01:00
Emery Hemingway f0328b27cd Switch HMAC to BLAKE2s-256 2023-05-07 09:40:17 +01:00
Emery Hemingway 94fa1efd62 Regenerate protocol modules 2023-05-06 20:22:21 +01:00
Emery Hemingway 0923b8abee Export a different runActor proc 2023-05-06 20:09:45 +01:00
Emery Hemingway 74254dd45b relays: reopen stdin asynchronously
This was preventing futures from being completed until the next
packet was received on stdin. This should fix a lot of problems
and bad behavior.
2023-05-06 16:04:20 +01:00
Emery Hemingway 572e3b76ab Regenerate protocol modules 2023-05-03 20:51:07 +01:00
Emery Hemingway 003bfa0a97 Less use of callSoon 2023-05-03 20:51:07 +01:00
Emery Hemingway 90247e19ce Update build metadata 2023-04-12 15:09:11 -05:00
Emery Hemingway cf05845f15 Remove buffer limit on binary protocol decoder
Buffer exhaustion is a problem for the server not the client.
2023-04-10 16:57:34 -05:00
Emery Hemingway 6364db7f69 Export a default capability generator 2023-04-10 16:56:51 -05:00
Emery Hemingway b1ad08e693 Fix patterns examples 2023-04-10 16:56:22 -05:00
Emery Hemingway 53278d8614 Update to latest Preserves API 2023-03-29 17:59:47 -05:00
Emery Hemingway ac81221faa Add grabDict() pattern generator 2023-03-29 17:59:44 -05:00
Emery Hemingway b1627a491a Patterns: refactor 2023-03-26 19:28:31 -05:00
Emery Hemingway 71955f257d Rename proc facet(…) to proc inFacet(…) 2023-03-26 19:28:08 -05:00
Emery Hemingway 6f2adf573a Check the protocol modules 2023-03-23 14:06:05 -05:00
Emery Hemingway 114088bfe6 Tup: check syndicate module 2023-03-23 12:52:38 -05:00
Emery Hemingway 32d8719c84 Adjust for outer build system 2023-03-01 21:02:03 -06:00
Emery Hemingway 00269c04b1 Use "do ():" for compatibility with Nim 2.0.0 2022-12-21 23:01:06 -06:00
Emery Hemingway a5c2d30ec4 Taps now takes multiple endpoints for connect 2022-12-21 23:00:04 -06:00
Emery Hemingway 589b0772e3 Make the Entity methods compatible with mm:orc 2022-12-21 22:59:16 -06:00
Emery Hemingway 47da042671 Add connectNet
Use Taps to connect to Syndicate peers over TCP. Taps is now a
depedency.
2022-12-13 23:03:38 -06:00
Emery Hemingway 0fab80bcf7 Move swaybar_status_actor out to syndicate_utils repo 2022-12-13 23:03:26 -06:00
Emery Hemingway 1234f97f20 Tup: unify protocols group 2022-12-13 23:03:25 -06:00
Emery Hemingway a43a723bb1 Patterns: some bad casting 2022-12-13 22:58:41 -06:00
Emery Hemingway 49b58f5ce1 Patterns: add pattern generator program 2022-12-13 22:58:41 -06:00
Emery Hemingway e24b06d317 Put a sturdyref generator in capabilities module 2022-12-13 22:58:40 -06:00
Emery Hemingway c4dace1eb7 Regenerate protocol modules 2022-12-13 22:58:18 -06:00
Emery Hemingway 17c7328be8 Export terminate for facets 2022-12-08 00:31:01 -06:00
Emery Hemingway e26c718142 Fix import path of swaybar_status_actor 2022-11-02 14:05:45 -05:00
Emery Hemingway 2aeb20e959 Update Preserves dependency 2022-10-31 10:00:33 -05:00
Emery Hemingway 26d88d7208 Cleanup skeletons 2022-10-31 09:57:57 -05:00
Emery Hemingway 0039792e0b replace: don't bother retracting null handles 2022-10-31 09:54:50 -05:00
Emery Hemingway d9a3570d6f Relays: use BufferedDecoder 2022-10-26 20:12:52 -05:00
Emery Hemingway ec60d9c64a Better error message for pattern handler mismatches 2022-10-26 20:12:52 -05:00
Emery Hemingway d69af0a90d Use binary Preserves over Unix sockets 2022-10-26 20:12:52 -05:00
Emery Hemingway 68a742797c Use binary Preserves over stdio 2022-10-26 20:12:52 -05:00
Emery Hemingway fa5a4a9cbc Add swaybar_status_actor as binary 2022-10-26 20:12:52 -05:00
Emery Hemingway 4e424e7ca8 skeletons: fix walking over compound patterns 2022-10-26 20:11:27 -05:00
Emery Hemingway 3fa7d4225e Tidy dataspaces module 2022-10-26 19:26:43 -05:00
Emery Hemingway 535fb93df3 Add initial swaybar_status_actor utility 2022-10-13 23:22:55 -05:00
Emery Hemingway 96d3bbb500 New "addCallback" proc for processing Futures in Turns 2022-09-04 13:13:02 -05:00
Emery Hemingway 9b0437e922 Export asyncCheck from syndicate module 2022-08-31 15:10:50 -05:00
Emery Hemingway 0742665288 Buffer socket reads so long messages come through 2022-08-30 11:46:14 -05:00
Emery Hemingway b0f5ff98e2 Different ?? pattern operator
Make the ?? operator convert a pattern to a pattern of itself and
inject other patterns into it.
2022-08-29 14:49:28 -05:00