Skip to content

minimize lock requirements for block creation trigger condition. #237

@SurfingNerd

Description

@SurfingNerd

function: transaction_queue_and_time_thresholds_reached

background:
if we are a validator, we are figuring out if we have transactions to process, so we start block production.
this is atm done by:

let queue_length = client.queued_transactions().len();

we need only the queue length, for comparing it with "queue_length >= self.params.transaction_queue_size_trigger"

transaction_queue_size_trigger has always been 1 for the diamond networks.

queued_transactions() returns an Vec<Arc> that is very expensive to create, especially if the Node Software is configured to manage large queue sizes.

We could extent the EngineClient by fn count_of_queued_transactions() and retrieve the Information by either using the LightStatus of the Queue, or creating a Listener that counts the transactions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions