pub struct NodeConfig {
pub bind_quic: Option<SocketAddr>,
pub bind_tcp: Option<SocketAddr>,
pub capabilities: Capabilities,
pub bootstrap_peers: Vec<String>,
pub max_subscriptions: usize,
pub auto_protect_publisher_keys: bool,
pub community_strict_mode: bool,
}Fields§
§bind_quic: Option<SocketAddr>§bind_tcp: Option<SocketAddr>§capabilities: Capabilities§bootstrap_peers: Vec<String>§max_subscriptions: usizeMaximum number of share subscriptions this node will hold.
Subscriptions drive sync I/O, search-index RAM, and SQLite FTS5 write volume. An unbounded count causes O(N²) persist I/O and multi-GB RAM use in active communities. Default: 200.
auto_protect_publisher_keys: boolWhen true (default), newly created publisher identities are
encrypted at rest using a key derived from the node’s stable identity
key via blake3. On restart, if the node key is available in persisted
state, encrypted publisher identities are automatically decrypted
without user interaction. When the node key itself is passphrase-
protected, publisher key unlocking follows the same gate.
community_strict_mode: boolWhen true, ListCommunityPublicShares requests to this node must
include a valid, unexpired CommunityMembershipToken for the
requester. In permissive mode (default false), any caller can
enumerate this node’s community public shares.
Trait Implementations§
Source§impl Clone for NodeConfig
impl Clone for NodeConfig
Source§fn clone(&self) -> NodeConfig
fn clone(&self) -> NodeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more