Commit 8f63bd5
Simplifies wasi-messaging interface with feedback (#24)
* feat(*): Updates messaging to support request-reply
This makes several updates to the messaging interface. Initially the
README said that this wasn't going to support request/reply, but based
on my reading of the Kafka, NATS, MQTT, and SQS APIs, this is a fairly
common pattern. Another piece of evidence here is what I've seen as a
wasmCloud maintainer from our users. Request/reply is one of the more
common things we see with a messaging service. Please note that this
doesn't _require_ the use of a reply-to topic, just exposes it for use.
I also did a few other changes here. First is that I added the topic to
the message. This was common across all systems and is often used by code
to select the appropriate logic to perform. I also removed the format
field as this didn't seem to be a common parameter across various services.
We could definitely add a content-type member to this record in the future
if needed, but I think much of that can be passed via the metadata field.
There are other things I might suggest some changes to, but I want to think
on them some more and open some issues to discuss them first
Signed-off-by: Taylor Thomas <[email protected]>
* feat(*): Updates interfaces to be more streamlined
This PR integrates various changes from talking to current users of
messaging in the community as well as conversations among the champions
Signed-off-by: Taylor Thomas <[email protected]>
* feat(*)!: Additional changes based on PR feedback
I also deleted the examples.md for now until we settle on the interface.
It will be easier to add back in once we have some real world examples
to point at
Signed-off-by: Taylor Thomas <[email protected]>
* feat(types): Updates the message type to have configurable fields
Also removes extensions as a guest configuration option (for now)
Signed-off-by: Taylor Thomas <[email protected]>
* feat(types): Renames guest config to just plain simple `config`
In many of the interfaces out there right now, we've moved more towards
just calling these things config
Signed-off-by: Taylor Thomas <[email protected]>
* feat(*): Additional changes to request/reply for streamlining
Also removes the channel parameter I forgot to remove in a previous
commit
Signed-off-by: Taylor Thomas <[email protected]>
* feat(request): Updates request-multi to support scatter/gather operations
One of the uses of request-multi is to support a scatter/gather operation.
In these cases, you might not know how many requests you are going to
receive, so you can't set expected replies. Generally these wait until
timeout and then return the results. This commit adds the ability to
support all the different use cases for request-multi
Signed-off-by: Taylor Thomas <[email protected]>
* ref(*): Simplifies interface and documents scope/portability
After a whole bunch of feedback from the community, I realized we were
still trying to make this interface too much. So I dramatically paired
back the interface to be purely focused on message passing. Further
features like ack/nack, guaranteed delivery, and so on are now out of
scope (see the README for full details).
This was partly inspired by a discussion in the CNCF Wasm WG around this
interface. To be perfectly frank, the level I paired this down to is
essentially the same level of guarantees offered by the wasmCloud
[messaging interface](https://github.com/wasmCloud/messaging). The main
reason being is that there are people actually using that interface for
real applications (with real host implementations). If we can come to
agreement on a simpler interface, it will be easier to add in functionality
such as the things I stripped out in this commit.
Please let me know any feedback you have around this, focusing on whether
or not this covers at least the most basic scenarios
Signed-off-by: Taylor Thomas <[email protected]>
* fixed typos, added subscribe, added messaging-request-reply world, and nits
Signed-off-by: danbugs <[email protected]>
* update auto-generated files and wit-abi-up-to-date version
Signed-off-by: danbugs <[email protected]>
* removed .idea/ and added to .gitignore
Signed-off-by: danbugs <[email protected]>
* updated README
Signed-off-by: danbugs <[email protected]>
* addressing first round of feedback: added type aliases, added remove-metadata method, added new-line at the end of files, improved argument names, removed .gitignore, improved documentation, changed get-subscriptions function name
Signed-off-by: danbugs <[email protected]>
* [pr feedback] added set-metadata method + revisited topic
Signed-off-by: danbugs <[email protected]>
* [pr feedback] changing signature of send
Signed-off-by: danbugs <[email protected]>
---------
Signed-off-by: Taylor Thomas <[email protected]>
Signed-off-by: danbugs <[email protected]>
Co-authored-by: Taylor Thomas <[email protected]>1 parent c2a7421 commit 8f63bd5
File tree
15 files changed
+1232
-550
lines changed- .github/workflows
- wit
15 files changed
+1232
-550
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
6 | 16 | | |
7 | | - | |
| 17 | + | |
8 | 18 | | |
9 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
10 | 23 | | |
11 | 24 | | |
12 | 25 | | |
13 | 26 | | |
14 | 27 | | |
15 | 28 | | |
16 | | - | |
| 29 | + | |
17 | 30 | | |
18 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
19 | 34 | | |
20 | | - | |
| 35 | + | |
21 | 36 | | |
22 | | - | |
23 | | - | |
24 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
25 | 40 | | |
26 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
27 | 44 | | |
28 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
29 | 48 | | |
30 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
31 | 52 | | |
32 | | - | |
| 53 | + | |
33 | 54 | | |
34 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
35 | 60 | | |
36 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
37 | 70 | | |
38 | | - | |
| 71 | + | |
39 | 72 | | |
40 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
41 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
42 | 82 | | |
43 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
44 | 86 | | |
45 | | - | |
| 87 | + | |
| 88 | + | |
46 | 89 | | |
47 | | - | |
48 | | - | |
49 | | - | |
| 90 | + | |
50 | 91 | | |
51 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
52 | 99 | | |
53 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
54 | 103 | | |
55 | | - | |
56 | | - | |
| 104 | + | |
This file was deleted.
0 commit comments