Trait ServiceQueues
pub trait ServiceQueues {
type OverweightMessageAddress;
// Required method
fn service_queues(weight_limit: Weight) -> Weight;
// Provided method
fn execute_overweight(
_weight_limit: Weight,
_address: Self::OverweightMessageAddress,
) -> Result<Weight, ExecuteOverweightError> { ... }
}
Expand description
Can service queues and execute overweight messages.
Required Associated Types§
type OverweightMessageAddress
type OverweightMessageAddress
Addresses a specific overweight message.
Required Methods§
fn service_queues(weight_limit: Weight) -> Weight
fn service_queues(weight_limit: Weight) -> Weight
Service all message queues in some fair manner.
weight_limit
: The maximum amount of dynamic weight that this call can use.
Returns the dynamic weight used by this call; is never greater than weight_limit
.
Should only be called in top-level runtime entry points like on_initialize
or on_idle
.
Otherwise, stack depth limit errors may be miss-handled.
Provided Methods§
fn execute_overweight(
_weight_limit: Weight,
_address: Self::OverweightMessageAddress,
) -> Result<Weight, ExecuteOverweightError>
fn execute_overweight( _weight_limit: Weight, _address: Self::OverweightMessageAddress, ) -> Result<Weight, ExecuteOverweightError>
Executes a message that could not be executed by Self::service_queues()
because it was
temporarily overweight.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.