R Tyler Croy
c83e31ff04
Start sketching out what the manifest and invocation file formats are going to be
2020-10-18 13:34:14 -07:00
R Tyler Croy
ab5cc9d89f
Extend the manifest a bit more to act more like a packaging manifest
...
As I was thinking about this more, I was thinking that this might be best to act
like a gemspec too, so that Otto tooling can package up the step library
artifact (.tar.gz) properly based off just the manifest.yml
2020-10-18 13:34:14 -07:00
R Tyler Croy
6ab574560e
Implement the sh-step as an example for how step libraries might work
...
The packaging isn't there yet, but at least the scaffolding of how the native
steps will be invoked is here.
2020-10-18 13:34:11 -07:00
R Tyler Croy
57f002a58d
Merge pull request #28 from rtyler/eventbus-take-two
...
Just landing some WIP eventbus nonsense
2020-10-18 13:26:37 -07:00
R Tyler Croy
d5cb28ef2e
Checkpointing some work in progress
2020-10-16 20:47:21 -07:00
R Tyler Croy
1c8b7fecb1
Refactor some of the integration test code to make wrapping meows::Envelope easier
2020-07-05 14:39:41 -07:00
R Tyler Croy
8981161bc6
cargo fmt
2020-07-05 13:43:49 -07:00
R Tyler Croy
0398e168c4
Refactoring the integration tests a bit to allow for more complex behaviors
...
The `register-subscribe.rs` test is still not fully implemented on the test nor
the server-side, but at least now the test scaffolding is working well.
2020-07-05 13:42:38 -07:00
R Tyler Croy
13abfb329a
Implement registration tracking inside the in-memory eventbus
...
This is still _super_ primitive but at least demonstrates some simple client
tracking with the recent features added to meows. This will ensure that the
eventbus can also _push_ events to the registered clients
2020-07-04 15:15:24 -07:00
R Tyler Croy
743b349d20
Implement a simplistic test for register/registered message ping pong
...
This is the first end-to-end test of the client/server approach using meows for
the message exchange. The client is currently only a synchronous Rust client,
but is otherwise "stock" WebSockets.
2020-07-03 16:15:13 -07:00
R Tyler Croy
203fce30d3
Refactor the inmemory server to allow for some better integration testing
2020-06-21 20:13:00 -07:00
R Tyler Croy
d4c2007006
Refactoring the inmemory eventbus into its own crate in the workspace
...
This helps eventbus stay a simple library that must be implemented by others
2020-06-21 14:40:50 -07:00
R Tyler Croy
649edcc1c0
Re-introduce the eventbus CLI utilities
2020-06-21 13:39:58 -07:00
R Tyler Croy
61f5060e3f
Swap Eventbus for Engine to make the trait naming a bit clearer
...
This will help implementers understand that _they_ must bring the engine to
power the Bus :)
2020-06-21 12:47:16 -07:00
R Tyler Croy
cc3885aed5
Refactor the facade around MemoryBus a bit more
2020-06-21 11:36:57 -07:00
R Tyler Croy
2833328138
Checkpointing work in progress: Handling self invocations in bus impls
...
This introduces the Bus facade which helps work around the issue of invoking
"self" from within these async box blocks
2020-06-21 09:52:04 -07:00
R Tyler Croy
9ec71adff0
cargo update
2020-06-20 11:27:33 -07:00
R Tyler Croy
cb7d4af3d5
cargo fmt
2020-06-20 11:24:37 -07:00
R Tyler Croy
f548b40177
Incorporate dashmap into the inmemory eventbus
...
This commit also starts to incorporate meows for handling the websocket messages
that are expected by the eventbus
2020-06-20 11:23:55 -07:00
R Tyler Croy
046fc935c7
WIP
2020-06-15 20:58:48 -07:00
R Tyler Croy
484deeeb36
Exploring the implementation of an Evenbus trait which can be implemented by buses
...
The goal here is to provide a shim interface that would allow for an
`otto-bus-redis`, and `otto-bus-kafka` and so on. Something that can be abstract
away commit log like behavior from the specific backing store implementation.
2020-06-14 15:52:29 -07:00
R Tyler Croy
aec1535cf3
Clean the slate, delete all the old somewhat broken eventbus code
...
I want to take a fresh look at this now that I have learned much more about Rust
2020-06-14 10:37:55 -07:00
R Tyler Croy
c7d01b961c
Merge pull request 'Rip out actix and actix-web' ( #3 ) from warp-speed into master
...
Reviewed-on: #3
2020-06-06 08:49:49 -07:00
R Tyler Croy
e5e3efe3ec
checkpoint old work in progress
2020-05-27 21:23:58 -07:00
R Tyler Croy
3aec18140e
Tweak the websocket handling a bit to be a little closer to "standard" async
...
Riffing on https://book.async.rs/tutorial/receiving_messages.html
2020-03-28 13:24:54 -07:00
R Tyler Croy
d406c49bc3
Checkpointing some work in progress
...
Just tinkering in this commit with ideas for how to pass around and manage the
channels for each connection
2020-03-10 12:58:53 -07:00
R Tyler Croy
df596146ca
Wrap the connection handling logic into a struct
...
Doing this simple thing right now to verify that I know how to do some more
object-oriented stuff with async_std::task
2020-03-08 13:20:45 -07:00
R Tyler Croy
78963a4bf4
Tinkering with using async-tungstenite to send/receive messages
2020-03-07 22:40:20 -08:00
R Tyler Croy
d1276bbcc8
Remove warp in favor of tide and async-fungstenite
...
Unfortunately I could not make peace with tokio, which is a good library but
just not for me in this project. Instead, switching gears to 100% async
2020-03-07 17:56:19 -08:00
R Tyler Croy
6b3f313478
Propagate a bus reference into the Connection and attempt to use it (failing)
...
This is currently failing due to some issues with lifetimes:
error: cannot infer an appropriate lifetime
--> eventbus/src/server/main.rs:207:22
|
207 | async fn runloop(&mut self) {
| ^^^^^^^^^ ...but this borrow...
...
213 | let writer = tokio::task::spawn(async {
| ------------------ this return type evaluates to the `'static` lifetime...
|
note: ...can't outlive the lifetime `'_` as defined on the method body at 207:22
--> eventbus/src/server/main.rs:207:22
|
207 | async fn runloop(&mut self) {
| ^
help: you can add a constraint to the return type to make it last less than `'static` and match the lifetime `'_` as defined on the method body at 207:22
|
213 | let writer = tokio::task::spawn + '_(async {
| ^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
Unfortunately the proposed syntax does not work properly, so I will have to wait
for a wireless connection in order to determine the right syntax here
2020-02-01 06:51:54 -08:00
R Tyler Croy
b2dae148ed
Add some Debug formatting on the structs
2020-02-01 06:51:33 -08:00
R Tyler Croy
b1f5e39bf4
Properly await on the futures.
...
This commit ensures that the reader/writer on the connection workers properly
2020-02-01 06:29:55 -08:00
R Tyler Croy
477e3c7933
Remove merge conflict failure
2020-02-01 06:28:57 -08:00
R Tyler Croy
883e44d276
Remove the clang linker configuration, since it is not on all platforms
...
This will make it easier for my aarch64 builds
2020-02-01 06:18:48 -08:00
R Tyler Croy
5596323dd8
Merge remote-tracking branch 'origin/warp-speed' into warp-speed
2020-02-01 03:53:07 -08:00
R Tyler Croy
e12cf55542
local wip, playing with a connection object
2020-02-01 03:52:34 -08:00
R Tyler Croy
b828dcce63
wip
2020-02-01 03:51:47 -08:00
R Tyler Croy
0700007219
fmt
2020-01-26 15:33:25 -08:00
R Tyler Croy
2dac86d95f
WIP tweaking
2020-01-26 15:33:15 -08:00
R Tyler Croy
9dcf36165c
Revert "Test commmit"
...
This reverts commit 76493a1f27
.
2020-01-20 20:50:01 -08:00
R Tyler Croy
76493a1f27
Test commmit
2020-01-21 04:31:16 +00:00
R Tyler Croy
a6d008841e
Experimenting with a Connection struct
2020-01-20 20:24:04 -08:00
R Tyler Croy
34b2a970fa
Tweak enough to make the end-to-end message passing work, but only with heartbeats
2020-01-20 12:35:57 -08:00
R Tyler Croy
bf662d72d5
Shuffle messages in and out of the websockets and the eventbus
...
This has the basics of working, but the Event objects are properly formed to
share the right msgs
2020-01-19 23:53:21 -08:00
R Tyler Croy
d837eb8af1
Checkpoint reproduction for rust-lang/rust#68372
2020-01-19 11:04:36 -08:00
R Tyler Croy
906aa2bc65
Does not compile: experimenting with APIs for the Eventbus
...
This is just some tinkering I wish to checkpoint before ripping it all out again
2020-01-19 10:53:16 -08:00
R Tyler Croy
c1a56dea9c
Incorporate basic warp websocket code to at least start manual testing with
2020-01-18 12:58:20 -08:00
R Tyler Croy
49d073e74b
Refactor the loading of handlebars templates out, and add some more error correction
...
Discovered another bug when vim dropped a .swp file in the templates/ directory.
Yay?
2020-01-18 12:44:21 -08:00
R Tyler Croy
70afc3df69
Refactoring msg code out of the root of the eventbus crate
...
This will keep the root from getting too busy
2020-01-18 12:43:28 -08:00
R Tyler Croy
f9a841db95
Re-introduce processing of settings, fixing a bug while I'm at it.
...
The unit test I added caught the lack of a .required(false) when loading the
configuration from a local file. This meant that the eventbus could _not_
function without a local eventbus.yml
2020-01-18 11:49:46 -08:00