pub struct MegaArgs {Show 19 fields
pub mega_id: MegaId,
pub backend_url: String,
pub lease_lifetime_secs: u64,
pub lease_renewal_interval_secs: u64,
pub lsp: LspInfo,
pub lsp_url: String,
pub mega_inactivity_secs: u64,
pub memory_overhead: u64,
pub oauth: Option<OAuthConfig>,
pub runner_url: String,
pub rust_backtrace: Option<String>,
pub rust_log: Option<String>,
pub sgx_heap_size: u64,
pub untrusted_deploy_env: DeployEnv,
pub untrusted_esplora_urls: Vec<String>,
pub untrusted_network: Network,
pub user_inactivity_secs: u64,
pub usernode_buffer_slots: usize,
pub usernode_memory: u64,
}Fields§
§mega_id: MegaIdA randomly generated id for this mega node.
backend_url: Stringprotocol://host:port of the backend.
lease_lifetime_secs: u64Maximum duration for user node leases (in seconds).
lease_renewal_interval_secs: u64Interval at which user nodes should renew their leases (in seconds).
lsp: LspInfoinfo relating to Lexe’s LSP.
lsp_url: Stringprotocol://host:port of the LSP’s HTTP server.
mega_inactivity_secs: u64How long the meganode can remain inactive before it shuts itself down.
memory_overhead: u64An estimate of the amount of enclave heap consumed by shared meganode components such as the network graph, Tokio, connection pools, etc.
oauth: Option<OAuthConfig>configuration info for Google OAuth2. Required only if running in staging / prod.
runner_url: Stringprotocol://host:port of the runner.
rust_backtrace: Option<String>The value to set for RUST_BACKTRACE. Does nothing if set to None.
Passed as an arg since envs aren’t available in SGX.
rust_log: Option<String>The value to set for RUST_LOG. Does nothing if set to None.
Passed as an arg since envs aren’t available in SGX.
sgx_heap_size: u64the allocatable memory available to this enclave in SGX.
untrusted_deploy_env: DeployEnvThe current deploy environment passed to us by Lexe (or someone in Lexe’s cloud). This input should be treated as untrusted.
untrusted_esplora_urls: Vec<String>Esplora urls which someone in Lexe’s infra says we should use. We’ll only use urls contained in our whitelist.
untrusted_network: NetworkThe current deploy network passed to us by Lexe (or someone in Lexe’s cloud). This input should be treated as untrusted.
user_inactivity_secs: u64How long the usernode can remain inactive (in seconds) before it gets evicted by the UserRunner.
usernode_buffer_slots: usizeThe # of usernodes that the meganode tries to maintain capacity for. Users are evicted when remaining memory fits fewer than this amount.
usernode_memory: u64An estimate of the amount of enclave heap consumed by each usernode.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MegaArgs
impl<'de> Deserialize<'de> for MegaArgs
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl EnclaveArgs for MegaArgs
impl EnclaveArgs for MegaArgs
Source§fn to_command(&self, bin_path: &Path) -> Command
fn to_command(&self, bin_path: &Path) -> Command
std::process::Command from the contained args.
Requires the path to the binary.Source§fn append_args(&self, cmd: &mut Command)
fn append_args(&self, cmd: &mut Command)
std::process::Command.