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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions