Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
This PR was developed on top of #135 First and foremost, any changes to the existing _executor.rs_ and related code written in #135 are mostly there as **suggestions**. @jbaxleyiii lmk if you want to pair on these or feel free to take / reject parts. I didn't dig too deep into the implementation of the executor yet, I'm going to start doing that this week. Second: This PR separates out the Stargate library from the binary, for a few reasons: 1. Separating out the business logic from the wrapping server makes for easier testing. 2. The library doesn't choose an async runtime, nor does it assume any specific implementation of an HTTP server. 3. Use actix-web instead of tide; we've discussed these options and feel more comfortable going with a more mature server implementation, as well as one that uses tokio. @jbaxleyiii If these changes look good, we can merge them into #135 and we can continue from there. If you want to do it differently, lmk! - [ ] Address `todo!` / `unimplemented!` / `FIXME` in the code - [ ] Tests for the executor (ideally these should be unit tests on the Stargate library, for coverage) - [ ] Integration tests. I was thinking we can set up acephei services locally and then the gateway would have `localhost` references to those on different ports, integration tests would be entirely localhost. - [ ] Add tracing/metrics middleware -- I believe there are some existing crates. - [ ] Write more log lines so that they're integrated with the logger of the http server (use `env_logger` ?)
- Loading branch information