build fixes and cleanup
This commit is contained in:
committed by
Brandon Vandegrift
parent
779532b624
commit
9aeec3cfa8
@@ -1,9 +1,9 @@
|
||||
use crate::*;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
#[declare]
|
||||
#[cfg_attr(target_arch = "wasm32", declare)]
|
||||
pub type ConfigCallbackReturn = VeilidAPIResult<Box<dyn core::any::Any + Send>>;
|
||||
#[declare]
|
||||
#[cfg_attr(target_arch = "wasm32", declare)]
|
||||
pub type ConfigCallback = Arc<dyn Fn(String) -> ConfigCallbackReturn + Send + Sync>;
|
||||
|
||||
/// Enable and configure HTTPS access to the Veilid node
|
||||
@@ -16,12 +16,13 @@ pub type ConfigCallback = Arc<dyn Fn(String) -> ConfigCallbackReturn + Send + Sy
|
||||
/// url: 'https://localhost:5150'
|
||||
/// ```
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigHTTPS {
|
||||
pub enabled: bool,
|
||||
pub listen_address: String,
|
||||
pub path: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub url: Option<String>, // Fixed URL is not optional for TLS-based protocols and is dynamically validated
|
||||
}
|
||||
|
||||
@@ -35,12 +36,13 @@ pub struct VeilidConfigHTTPS {
|
||||
/// url: 'https://localhost:5150'
|
||||
/// ```
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigHTTP {
|
||||
pub enabled: bool,
|
||||
pub listen_address: String,
|
||||
pub path: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub url: Option<String>,
|
||||
}
|
||||
|
||||
@@ -50,7 +52,8 @@ pub struct VeilidConfigHTTP {
|
||||
///
|
||||
/// To be implemented...
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigApplication {
|
||||
pub https: VeilidConfigHTTPS,
|
||||
pub http: VeilidConfigHTTP,
|
||||
@@ -66,12 +69,13 @@ pub struct VeilidConfigApplication {
|
||||
/// public_address: ''
|
||||
/// ```
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigUDP {
|
||||
pub enabled: bool,
|
||||
pub socket_pool_size: u32,
|
||||
pub listen_address: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub public_address: Option<String>,
|
||||
}
|
||||
|
||||
@@ -85,13 +89,14 @@ pub struct VeilidConfigUDP {
|
||||
/// listen_address: ':5150'
|
||||
/// public_address: ''
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigTCP {
|
||||
pub connect: bool,
|
||||
pub listen: bool,
|
||||
pub max_connections: u32,
|
||||
pub listen_address: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub public_address: Option<String>,
|
||||
}
|
||||
|
||||
@@ -106,7 +111,8 @@ pub struct VeilidConfigTCP {
|
||||
/// path: 'ws'
|
||||
/// url: 'ws://localhost:5150/ws'
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
|
||||
pub struct VeilidConfigWS {
|
||||
pub connect: bool,
|
||||
@@ -114,7 +120,7 @@ pub struct VeilidConfigWS {
|
||||
pub max_connections: u32,
|
||||
pub listen_address: String,
|
||||
pub path: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub url: Option<String>,
|
||||
}
|
||||
|
||||
@@ -129,7 +135,8 @@ pub struct VeilidConfigWS {
|
||||
/// path: 'ws'
|
||||
/// url: ''
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
|
||||
pub struct VeilidConfigWSS {
|
||||
pub connect: bool,
|
||||
@@ -137,7 +144,7 @@ pub struct VeilidConfigWSS {
|
||||
pub max_connections: u32,
|
||||
pub listen_address: String,
|
||||
pub path: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub url: Option<String>, // Fixed URL is not optional for TLS-based protocols and is dynamically validated
|
||||
}
|
||||
|
||||
@@ -148,7 +155,8 @@ pub struct VeilidConfigWSS {
|
||||
/// All protocols are available by default, and the Veilid node will
|
||||
/// sort out which protocol is used for each peer connection.
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
|
||||
pub struct VeilidConfigProtocol {
|
||||
pub udp: VeilidConfigUDP,
|
||||
@@ -165,7 +173,8 @@ pub struct VeilidConfigProtocol {
|
||||
/// private_key_path: /path/to/private/key
|
||||
/// connection_initial_timeout_ms: 2000
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigTLS {
|
||||
pub certificate_path: String,
|
||||
pub private_key_path: String,
|
||||
@@ -174,7 +183,8 @@ pub struct VeilidConfigTLS {
|
||||
|
||||
/// Configure the Distributed Hash Table (DHT)
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigDHT {
|
||||
pub max_find_node_count: u32,
|
||||
pub resolve_node_timeout_ms: u32,
|
||||
@@ -199,13 +209,14 @@ pub struct VeilidConfigDHT {
|
||||
|
||||
/// Configure RPC
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigRPC {
|
||||
pub concurrency: u32,
|
||||
pub queue_size: u32,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub max_timestamp_behind_ms: Option<u32>,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub max_timestamp_ahead_ms: Option<u32>,
|
||||
pub timeout_ms: u32,
|
||||
pub max_route_hop_count: u8,
|
||||
@@ -214,7 +225,8 @@ pub struct VeilidConfigRPC {
|
||||
|
||||
/// Configure the network routing table
|
||||
///
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigRoutingTable {
|
||||
#[schemars(with = "Vec<String>")]
|
||||
pub node_id: TypedKeyGroup,
|
||||
@@ -230,7 +242,8 @@ pub struct VeilidConfigRoutingTable {
|
||||
// xxx pub enable_local_network: bool,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigNetwork {
|
||||
pub connection_initial_timeout_ms: u32,
|
||||
pub connection_inactivity_timeout_ms: u32,
|
||||
@@ -241,7 +254,7 @@ pub struct VeilidConfigNetwork {
|
||||
pub client_whitelist_timeout_ms: u32,
|
||||
pub reverse_connection_receipt_time_ms: u32,
|
||||
pub hole_punch_receipt_time_ms: u32,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub network_key_password: Option<String>,
|
||||
pub routing_table: VeilidConfigRoutingTable,
|
||||
pub rpc: VeilidConfigRPC,
|
||||
@@ -254,36 +267,41 @@ pub struct VeilidConfigNetwork {
|
||||
pub protocol: VeilidConfigProtocol,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigTableStore {
|
||||
pub directory: String,
|
||||
pub delete: bool,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigBlockStore {
|
||||
pub directory: String,
|
||||
pub delete: bool,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigProtectedStore {
|
||||
pub allow_insecure_fallback: bool,
|
||||
pub always_use_insecure_storage: bool,
|
||||
pub directory: String,
|
||||
pub delete: bool,
|
||||
pub device_encryption_key_password: String,
|
||||
#[tsify(optional)]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(optional))]
|
||||
pub new_device_encryption_key_password: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigCapabilities {
|
||||
pub disable: Vec<FourCC>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[tsify(namespace, from_wasm_abi)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
#[cfg_attr(target_arch = "wasm32", tsify(namespace, from_wasm_abi))]
|
||||
pub enum VeilidConfigLogLevel {
|
||||
Off,
|
||||
Error,
|
||||
@@ -370,7 +388,8 @@ impl fmt::Display for VeilidConfigLogLevel {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, Tsify)]
|
||||
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
|
||||
#[cfg_attr(target_arch = "wasm32", derive(Tsify))]
|
||||
pub struct VeilidConfigInner {
|
||||
pub program_name: String,
|
||||
pub namespace: String,
|
||||
|
||||
Reference in New Issue
Block a user