Provide the basics for an EventBusClient #2

Manually merged
rtyler merged 12 commits from resource-allocation into master 2020-01-14 05:44:41 +00:00

12 Commits

Author SHA1 Message Date
R Tyler Croy 58cdae28cc
Prototype the travis-ci processor pushing directly into the tasks.for_auction channel
This doesn't help too terribly much at this point, but at least it's a means of
getting a .travis-ci.yml into the system
2020-01-13 19:41:07 -08:00
R Tyler Croy 51057413e3
Implement a simple processor for travis-ci.yml files
Currently this emits data only to standard out, but it will likely need to learn
how to drop this payload directly onto the eventbus in the near future
2020-01-13 18:19:54 -08:00
R Tyler Croy 3ebcf376c6
Starting to scope out a simple Travis CI processor
I need something to generate some simple tasks to pump into the eventbus for the
auctioneer, this will have to do
2020-01-12 14:23:37 -08:00
R Tyler Croy b40abcad9d
Implement backoff on connection errors for the eventbus client
This uses a fibonacci backoff (yay I pass the coding interview) for attempting
to reconnect the connection if something cannot work properly
2020-01-11 20:44:05 -08:00
R Tyler Croy 24db3be3ea
Refactor the EventBusClient code into the eventus crate where it belongs
Now that I have something simple and functioning, this no longer needs to be
in the auctioneer

The fun work begins now, supporting custom messages known only to the auctioneer
for its needs, but passing those through EventBusClient
2020-01-11 16:18:14 -08:00
R Tyler Croy 0f3582db01
Implement the Default trait for Meta to make it easier for the auctioneer
This removes a dependency from auctioneer and is the first step in refactoring
the EventBusClient into the eventbus crate
2020-01-11 16:18:14 -08:00
R Tyler Croy e0a9b0c870
Implement some basic command dispatching in the auctioneer
This code will soon be refactored into the eventbus crate so that all other
clients can implement their handlers the same way
2020-01-11 13:03:37 -08:00
R Tyler Croy 044abc397f
Deserialize messages from the eventbus 2020-01-11 12:38:35 -08:00
R Tyler Croy b1260df2cf
Switch back to actix-web-actors for the eventbus client, again. >_<
I originally tossed this approach since I believed that the awc +
actix-web-actors approach was unnecessarily complex. After experimenting a bit
with tungstenite, I believe that converting its high-level API into something
that I could work with in an asynchronous manner would require too much poking
around with tokio to be worth the effort.

I suppose I'll have to make do with the somewhat mid-level abstraction that
actix-web-actors provides me.
2020-01-11 12:38:34 -08:00
R Tyler Croy eb75d61259
cargo fmt 2020-01-11 12:38:33 -08:00
R Tyler Croy 9b1df700de
Clean up a little bit of error handling in the eventbus CLI 2020-01-11 11:17:58 -08:00
R Tyler Croy a5ae7e15a8
Begin working on the per-client inbox functionality
There's some refactoring I need to do in the server/eventbus module before
continuing, but this contains the initial cut of code necessary to create a new
inbox when a client connects that will map to that client name
2020-01-11 11:17:56 -08:00