pub struct Options {Show 32 fields
pub send_timeout: Duration,
pub recv_timeout: Duration,
pub max_pending_message_bundles: usize,
pub max_block_limit_errors: u32,
pub max_new_events_per_block: usize,
pub chain_worker_ttl: Duration,
pub sender_chain_worker_ttl: Duration,
pub retry_delay: Duration,
pub max_retries: u32,
pub max_backoff: Duration,
pub wait_for_outgoing_messages: bool,
pub allow_fast_blocks: bool,
pub long_lived_services: bool,
pub blanket_message_policy: BlanketMessagePolicy,
pub restrict_chain_ids_to: Option<HashSet<ChainId>>,
pub reject_message_bundles_without_application_ids: Option<HashSet<GenericApplicationId>>,
pub reject_message_bundles_with_other_application_ids: Option<HashSet<GenericApplicationId>>,
pub timings: bool,
pub timing_interval: u64,
pub quorum_grace_period: f64,
pub blob_download_timeout: Duration,
pub certificate_batch_download_timeout: Duration,
pub certificate_download_batch_size: u64,
pub sender_certificate_download_batch_size: usize,
pub max_joined_tasks: usize,
pub max_accepted_latency_ms: f64,
pub cache_ttl_ms: u64,
pub cache_max_size: usize,
pub max_request_ttl_ms: u64,
pub alpha: f64,
pub alternative_peers_retry_delay_ms: u64,
pub chain_listener_config: ChainListenerConfig,
}Fields§
§send_timeout: DurationTimeout for sending queries (milliseconds)
recv_timeout: DurationTimeout for receiving responses (milliseconds)
max_pending_message_bundles: usizeThe maximum number of incoming message bundles to include in a block proposal.
max_block_limit_errors: u32Maximum number of message bundles to discard from a block proposal due to block limit errors before discarding all remaining bundles.
Discarded bundles can be retried in the next block.
max_new_events_per_block: usizeThe maximum number of new stream events to include in a block proposal.
chain_worker_ttl: DurationThe duration in milliseconds after which an idle chain worker will free its memory.
sender_chain_worker_ttl: DurationThe duration, in milliseconds, after which an idle sender chain worker will free its memory.
retry_delay: DurationDelay increment for retrying to connect to a validator.
max_retries: u32Number of times to retry connecting to a validator.
max_backoff: DurationMaximum backoff delay for retrying to connect to a validator.
wait_for_outgoing_messages: boolWhether to wait until a quorum of validators has confirmed that all sent cross-chain messages have been delivered.
allow_fast_blocks: boolWhether to allow creating blocks in the fast round. Fast blocks have lower latency but must be used carefully so that there are never any conflicting fast block proposals.
long_lived_services: bool(EXPERIMENTAL) Whether application services can persist in some cases between queries.
blanket_message_policy: BlanketMessagePolicyThe policy for handling incoming messages.
restrict_chain_ids_to: Option<HashSet<ChainId>>A set of chains to restrict incoming messages from. By default, messages from all chains are accepted. To reject messages from all chains, specify an empty string.
reject_message_bundles_without_application_ids: Option<HashSet<GenericApplicationId>>A set of application IDs. If specified, only bundles with at least one message from one of these applications will be accepted.
reject_message_bundles_with_other_application_ids: Option<HashSet<GenericApplicationId>>A set of application IDs. If specified, only bundles where all messages are from one of these applications will be accepted.
timings: boolEnable timing reports during operations
timing_interval: u64Interval in seconds between timing reports (defaults to 5)
quorum_grace_period: f64An additional delay, after reaching a quorum, to wait for additional validator signatures, as a fraction of time taken to reach quorum.
blob_download_timeout: DurationThe delay when downloading a blob, after which we try a second validator, in milliseconds.
certificate_batch_download_timeout: DurationThe delay when downloading a batch of certificates, after which we try a second validator, in milliseconds.
certificate_download_batch_size: u64Maximum number of certificates that we download at a time from one validator when synchronizing one of our chains.
sender_certificate_download_batch_size: usizeMaximum number of sender certificates we try to download and receive in one go when syncing sender chains.
max_joined_tasks: usizeMaximum number of tasks that can are joined concurrently in the client.
max_accepted_latency_ms: f64Maximum expected latency in milliseconds for score normalization.
cache_ttl_ms: u64Time-to-live for cached responses in milliseconds.
cache_max_size: usizeMaximum number of entries in the cache.
max_request_ttl_ms: u64Maximum latency for an in-flight request before we stop deduplicating it (in milliseconds).
alpha: f64Smoothing factor for Exponential Moving Averages (0 < alpha < 1). Higher values give more weight to recent observations. Typical values are between 0.01 and 0.5. A value of 0.1 means that 10% of the new observation is considered and 90% of the previous average is retained.
alternative_peers_retry_delay_ms: u64Delay in milliseconds between starting requests to different peers. This helps to stagger requests and avoid overwhelming the network.
chain_listener_config: ChainListenerConfigTrait Implementations§
Source§impl Args for Options
impl Args for Options
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Options
impl CommandFactory for Options
Source§impl<'de> Deserialize<'de> for Options
impl<'de> Deserialize<'de> for Options
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 FromArgMatches for Options
impl FromArgMatches for Options
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl FromWasmAbi for Optionswhere
Self: DeserializeOwned,
impl FromWasmAbi for Optionswhere
Self: DeserializeOwned,
Source§impl OptionFromWasmAbi for Optionswhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for Optionswhere
Self: DeserializeOwned,
Source§impl Parser for Options
impl Parser for Options
Source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Source§impl RefFromWasmAbi for Optionswhere
Self: DeserializeOwned,
impl RefFromWasmAbi for Optionswhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§impl Tsify for Options
impl Tsify for Options
const DECL: &'static str = "export interface Options extends ChainListenerConfig {\n /**\n * Timeout for sending queries (milliseconds)\n */\n sendTimeout?: { secs: number; nanos: number };\n /**\n * Timeout for receiving responses (milliseconds)\n */\n recvTimeout?: { secs: number; nanos: number };\n /**\n * The maximum number of incoming message bundles to include in a block proposal.\n */\n maxPendingMessageBundles?: number;\n /**\n * Maximum number of message bundles to discard from a block proposal due to block limit\n * errors before discarding all remaining bundles.\n *\n * Discarded bundles can be retried in the next block.\n */\n maxBlockLimitErrors?: number;\n /**\n * The maximum number of new stream events to include in a block proposal.\n */\n maxNewEventsPerBlock?: number;\n /**\n * The duration in milliseconds after which an idle chain worker will free its memory.\n */\n chainWorkerTtl?: { secs: number; nanos: number };\n /**\n * The duration, in milliseconds, after which an idle sender chain worker will\n * free its memory.\n */\n senderChainWorkerTtl?: { secs: number; nanos: number };\n /**\n * Delay increment for retrying to connect to a validator.\n */\n retryDelay?: { secs: number; nanos: number };\n /**\n * Number of times to retry connecting to a validator.\n */\n maxRetries?: number;\n /**\n * Maximum backoff delay for retrying to connect to a validator.\n */\n maxBackoff?: { secs: number; nanos: number };\n /**\n * Whether to wait until a quorum of validators has confirmed that all sent cross-chain\n * messages have been delivered.\n */\n waitForOutgoingMessages?: boolean;\n /**\n * Whether to allow creating blocks in the fast round. Fast blocks have lower latency but\n * must be used carefully so that there are never any conflicting fast block proposals.\n */\n allowFastBlocks?: boolean;\n /**\n * (EXPERIMENTAL) Whether application services can persist in some cases between queries.\n */\n longLivedServices?: boolean;\n /**\n * The policy for handling incoming messages.\n */\n blanketMessagePolicy?: BlanketMessagePolicy;\n /**\n * A set of chains to restrict incoming messages from. By default, messages\n * from all chains are accepted. To reject messages from all chains, specify\n * an empty string.\n */\n restrictChainIdsTo?: ChainId[] | undefined;\n /**\n * A set of application IDs. If specified, only bundles with at least one message from one of\n * these applications will be accepted.\n */\n rejectMessageBundlesWithoutApplicationIds?: GenericApplicationId[] | undefined;\n /**\n * A set of application IDs. If specified, only bundles where all messages are from one of\n * these applications will be accepted.\n */\n rejectMessageBundlesWithOtherApplicationIds?: GenericApplicationId[] | undefined;\n /**\n * Enable timing reports during operations\n */\n timings?: boolean;\n /**\n * Interval in seconds between timing reports (defaults to 5)\n */\n timingInterval?: number;\n /**\n * An additional delay, after reaching a quorum, to wait for additional validator signatures,\n * as a fraction of time taken to reach quorum.\n */\n quorumGracePeriod?: number;\n /**\n * The delay when downloading a blob, after which we try a second validator, in milliseconds.\n */\n blobDownloadTimeout?: { secs: number; nanos: number };\n /**\n * The delay when downloading a batch of certificates, after which we try a second validator,\n * in milliseconds.\n */\n certificateBatchDownloadTimeout?: { secs: number; nanos: number };\n /**\n * Maximum number of certificates that we download at a time from one validator when\n * synchronizing one of our chains.\n */\n certificateDownloadBatchSize?: number;\n /**\n * Maximum number of sender certificates we try to download and receive in one go\n * when syncing sender chains.\n */\n senderCertificateDownloadBatchSize?: number;\n /**\n * Maximum number of tasks that can are joined concurrently in the client.\n */\n maxJoinedTasks?: number;\n /**\n * Maximum expected latency in milliseconds for score normalization.\n */\n maxAcceptedLatencyMs?: number;\n /**\n * Time-to-live for cached responses in milliseconds.\n */\n cacheTtlMs?: number;\n /**\n * Maximum number of entries in the cache.\n */\n cacheMaxSize?: number;\n /**\n * Maximum latency for an in-flight request before we stop deduplicating it (in milliseconds).\n */\n maxRequestTtlMs?: number;\n /**\n * Smoothing factor for Exponential Moving Averages (0 < alpha < 1).\n * Higher values give more weight to recent observations.\n * Typical values are between 0.01 and 0.5.\n * A value of 0.1 means that 10% of the new observation is considered\n * and 90% of the previous average is retained.\n */\n alpha?: number;\n /**\n * Delay in milliseconds between starting requests to different peers.\n * This helps to stagger requests and avoid overwhelming the network.\n */\n alternativePeersRetryDelayMs?: number;\n}"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for Optionswhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for Optionswhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Auto Trait Implementations§
impl Freeze for Options
impl RefUnwindSafe for Options
impl Send for Options
impl Sync for Options
impl Unpin for Options
impl UnsafeUnpin for Options
impl UnwindSafe for Options
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> FromBcsBytes for Twhere
T: DeserializeOwned,
impl<T> FromBcsBytes for Twhere
T: DeserializeOwned,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.