although, it still isn't compatible with Xargo, the SGX parts are still compiled by rust-analyzer without the sgx target. I have tried to change that but it creates many more problems
the support is way better still, I changed the dependency structure so that sgx dependencies are recognized by rust-analyzer. This should enable a way nicer developer experience
refactor the server crates, flatten the directory structure
there is now a single cargo workspace for the sgx / native (/hybrid) parts
the rationale for this is that most of our crates are hybrid (sgx/non sgx-compatible) anyway, so we might as well have a single cargo workspace
This PR could be divided into multiple PRs to land some of this earlier, but since this is a big refactor anyway, we'll have to deal with tricky merge conflicts if anyone is working on any other server feature right now anyway.
This pull request refactors the server part.
Here are the changes:
/server/inference-server/attestation/sgx
becomes/server/blindai_sgx_attestation
(hybrid)/server/inference-server/network/sgx/rpc
becomes/server/blindai_rpc
(hybrid)/server/inference-server/network/sgx/common
becomes/server/blindai_common
(hybrid)/server/inference-server/scheduler/trusted
becomes/server/blindai_sgx
(sgx-only)/server/inference-server/scheduler/untrusted
becomes/server/blindai_app
(native only)This PR could be divided into multiple PRs to land some of this earlier, but since this is a big refactor anyway, we'll have to deal with tricky merge conflicts if anyone is working on any other server feature right now anyway.