pub struct MegaArgs {Show 19 fields
pub mega_id: u16,
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: u16A 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<MegaArgs, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MegaArgs, <__D as Deserializer<'de>>::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.fn from_json_str(json_str: &str) -> Result<Self, Error>
fn to_json_string(&self) -> String
Source§impl Serialize for MegaArgs
impl Serialize for MegaArgs
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for MegaArgs
impl StructuralPartialEq for MegaArgs
Auto Trait Implementations§
impl Freeze for MegaArgs
impl RefUnwindSafe for MegaArgs
impl Send for MegaArgs
impl Sync for MegaArgs
impl Unpin for MegaArgs
impl UnsafeUnpin for MegaArgs
impl UnwindSafe for MegaArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.