#[non_exhaustive]pub struct NodeSupervisorConfig {
pub rpc_listen_address: String,
pub rpc_max_connections: u32,
pub rpc_batch_concurrency: RpcBatchConcurrency,
pub hogd_dev: HogdDevConfig,
pub hogd_protocol_override: Option<String>,
pub view_gas_limit: u64,
pub view_timeout: Duration,
pub view_batch: ViewBatchConfig,
pub block_driver: BlockDriverConfig,
pub local_airdrop: LocalAirdropConfig,
pub bundle_identity: Option<BundleIdentity>,
}Expand description
Supervisor configuration for a local Thruput node.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.rpc_listen_address: StringPublic JSON-RPC listen address exposed by the Rust facade.
rpc_max_connections: u32Maximum simultaneous public JSON-RPC connections.
rpc_batch_concurrency: RpcBatchConcurrencyActive plus buffered entries per JSON-RPC array (1..=1024, default 128).
hogd_dev: HogdDevConfigConfiguration for the supervised hogd-dev child process.
hogd_protocol_override: Option<String>Optional protocol string used for hogd-dev intro handshakes.
Defaults to the protocol embedded in the linked thruput-xdr crate.
This override is intended for local cross-repo smoke tests before a
matching Rust protocol crate has been published.
view_gas_limit: u64Gas budget assigned to hogd-dev ViewGateway root invocations.
view_timeout: DurationMaximum time to wait for one hogd-dev ViewGateway execution RPC.
view_batch: ViewBatchConfigAggregate limits for shared-snapshot reads.
block_driver: BlockDriverConfigLocal block production policy for hogd-dev scheduler coordination.
local_airdrop: LocalAirdropConfigOptional local airdrop behavior and resource bounds.
bundle_identity: Option<BundleIdentity>Validated release identity supplied by the binary embedding the supervisor.
Implementations§
Source§impl NodeSupervisorConfig
impl NodeSupervisorConfig
Sourcepub const fn with_view_batch(self, limits: ViewBatchConfig) -> Self
pub const fn with_view_batch(self, limits: ViewBatchConfig) -> Self
Set aggregate shared-read limits. Per-call view limits also apply.
Sourcepub const fn with_rpc_batch_concurrency(
self,
concurrency: RpcBatchConcurrency,
) -> Self
pub const fn with_rpc_batch_concurrency( self, concurrency: RpcBatchConcurrency, ) -> Self
Return a copy with a validated per-array JSON-RPC concurrency limit.
Sourcepub fn with_rpc_listen_address(self, listen_address: impl Into<String>) -> Self
pub fn with_rpc_listen_address(self, listen_address: impl Into<String>) -> Self
Return a copy with a different public JSON-RPC listen address.
Sourcepub const fn with_rpc_max_connections(self, max_connections: u32) -> Self
pub const fn with_rpc_max_connections(self, max_connections: u32) -> Self
Return a copy with a different public JSON-RPC connection cap.
Sourcepub fn with_hogd_dev_binary(self, binary_path: impl Into<PathBuf>) -> Self
pub fn with_hogd_dev_binary(self, binary_path: impl Into<PathBuf>) -> Self
Return a copy with an explicit hogd-dev binary path.
Sourcepub fn with_hogd_dev(self, hogd_dev: HogdDevConfig) -> Self
pub fn with_hogd_dev(self, hogd_dev: HogdDevConfig) -> Self
Return a copy with the supplied hogd-dev configuration.
Sourcepub fn with_hogd_protocol_override(self, protocol: impl Into<String>) -> Self
pub fn with_hogd_protocol_override(self, protocol: impl Into<String>) -> Self
Return a copy with an explicit hogd protocol string for intro probes.
This is a development escape hatch. It should only be used when the caller has verified that the linked Rust protocol structs are compatible with the hogd-dev binary being tested.
Sourcepub fn with_view_gas_limit(self, view_gas_limit: u64) -> Self
pub fn with_view_gas_limit(self, view_gas_limit: u64) -> Self
Return a copy with a different hogd-dev ViewGateway gas budget.
Sourcepub fn with_view_timeout(self, view_timeout: Duration) -> Self
pub fn with_view_timeout(self, view_timeout: Duration) -> Self
Return a copy with a different hogd-dev ViewGateway RPC timeout.
Sourcepub fn with_block_driver(self, block_driver: BlockDriverConfig) -> Self
pub fn with_block_driver(self, block_driver: BlockDriverConfig) -> Self
Return a copy with a different local block production policy.
Sourcepub const fn with_local_airdrop(self, local_airdrop: LocalAirdropConfig) -> Self
pub const fn with_local_airdrop(self, local_airdrop: LocalAirdropConfig) -> Self
Return a copy with different local airdrop controls.
Sourcepub fn with_bundle_identity(self, bundle_identity: BundleIdentity) -> Self
pub fn with_bundle_identity(self, bundle_identity: BundleIdentity) -> Self
Return a copy bound to the embedding binary’s validated release identity.
Trait Implementations§
Source§impl Clone for NodeSupervisorConfig
impl Clone for NodeSupervisorConfig
Source§impl Debug for NodeSupervisorConfig
impl Debug for NodeSupervisorConfig
Source§impl Default for NodeSupervisorConfig
impl Default for NodeSupervisorConfig
impl Eq for NodeSupervisorConfig
Source§impl PartialEq for NodeSupervisorConfig
impl PartialEq for NodeSupervisorConfig
impl StructuralPartialEq for NodeSupervisorConfig
Auto Trait Implementations§
impl Freeze for NodeSupervisorConfig
impl RefUnwindSafe for NodeSupervisorConfig
impl Send for NodeSupervisorConfig
impl Sync for NodeSupervisorConfig
impl Unpin for NodeSupervisorConfig
impl UnsafeUnpin for NodeSupervisorConfig
impl UnwindSafe for NodeSupervisorConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.