Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control block forging through NodeKernel #3800

Closed
wants to merge 16 commits into from

Commits on Nov 21, 2022

  1. Added setBlockForging to NodeKernel

    Block forging is removed from ProtocolInfo, and can controlled by using
    `NodeKernel` field: `setProtocolForging :: [BlockForging m blk] -> m ()`.
    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    7fc8400 View commit details
    Browse the repository at this point in the history
  2. Updated ouroboros-consensus-test

    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    bc8dde0 View commit details
    Browse the repository at this point in the history
  3. Updated ouroboros-consensus-mock

    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    e27ef02 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5efb284 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7fb7b5c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    81315eb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    363922b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1a8323d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6b36280 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    38c9bd1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8272447 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5136720 View commit details
    Browse the repository at this point in the history
  13. Make forkBlockForging async safe

    When make sure that when a block is added to the ChainDB, transactions
    will be removed from the mempool.   The 'addBlockAsync' is a lightweight
    non-blocking operation but the finalizer is blocking (`blockProcessed`
    will block until the block was added to the ChainDB).  Hence we need to
    use `uninterruptibleMask_` to make it safe in presence of asynchronous
    exceptions.
    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    4a5fdb7 View commit details
    Browse the repository at this point in the history
  14. block-forging: async exception safety

    When the block forger thread adds a new block, the adding thread might
    be killed by an async exception.  If that happens, the block forger will
    get 'Nothing' when `blockProcessed` returns, and it can exit.
    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    479a900 View commit details
    Browse the repository at this point in the history
  15. block-forging: updated upstream dependencies

    * ouroboros-consensus-test
    * ouroboros-consensus-cardano-tools
    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    b62cc7a View commit details
    Browse the repository at this point in the history
  16. addBlock, addBlock_ shouldn't be partial functions

    `addBlock_` is used by `initNodeKernel` when calling the `initChainDB`
    callback from `NodeKernelArgs`.
    coot committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    c102d99 View commit details
    Browse the repository at this point in the history