client,aggregator,servercontain the running logic of each role.
enclaveprovide the function of client within the enclave.commoncontains the general function for all rolesinterfacecontains the parameter settings, and the interface between in-enclave and out-enclave.third-partycomprises the third-party encryption library.
Here we mainly talk about te structure of the script/dc-net-control.sh and script/server_ctrl_multithread.sh.
server_ctrl_multithread.sh ultilizes the API function provided by each role's main.py, to realize the interaction between roles and the comprehensive process we desire.
dc-net-control.sh is based on server_ctrl_multithread.sh, providing the all function needed when deploying in AWS. It's another encapsulation for deployment in WAN scenario.
In general, when deploying in WAN, you only need to use dc-net-control.sh.