xch-blockchain/chia/consensus
Kyle Altendorf 9e8d6ebd71
rework `LockQueue` as `PriorityMutex` (#14920)
* explore a simplification of the blockchain priority lock queue

* add some tests

* correct task tracking

* use time.perf_counter for better resolution on windows

* just count an integer for request order retention

* stop using time in the (new) tests as well

* add tests and a couple no covers

* less existing test refactoring

* use a sync PriorityQueue

* switch to deques

* address bugs and simplify priority to deque mapping

* remove unused attribute ._priority_type

* make LockQueu.create() not async

* explain the active element check on wait cancellation

* drop LockQueue._process()

* import final from typing_extensions

* rename LockQueue to PriorityMutex

* remove test from mypy exclusions

* clean up straggling lock references

* ignore test failure case line coverage

* add a monkeypatch test ;[

* remove queued callback feature

* remove todos
2023-06-07 14:08:45 -05:00
..
__init__.py `git mv src chia` 2021-04-04 21:41:39 -07:00
block_body_validation.py Fork infrastructure (#15299) 2023-05-18 20:20:11 -05:00
block_creation.py Remove no longer needed cost_per_byte cases (#14850) 2023-03-24 18:29:50 -05:00
block_header_validation.py lower MAX_FUTURE_TIME to 2 minutes with the 1.8.0 soft-fork activation (#15035) 2023-04-24 12:52:38 -06:00
block_record.py Introduce BlockRecordProtocol as a subset of BlockRecord that the mempool manager uses for peak (#14628) 2023-02-23 01:04:47 -06:00
block_rewards.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
block_root_validation.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
blockchain.py rework `LockQueue` as `PriorityMutex` (#14920) 2023-06-07 14:08:45 -05:00
blockchain_interface.py adjustments for new mypy (#13859) 2022-11-07 17:38:40 -06:00
coinbase.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
condition_costs.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
constants.py Fork infrastructure (#15299) 2023-05-18 20:20:11 -05:00
cost_calculator.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
default_constants.py bump SOFT_FORK3_HEIGHT to align with the next release cycle (#15428) 2023-06-01 21:48:01 -05:00
deficit.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
difficulty_adjustment.py flake8: Fix issues after update (#13997) 2022-11-24 13:32:04 -06:00
find_fork_point.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
full_block_to_block_record.py remove leading newlines from indented code blocks (#14653) 2023-02-23 21:53:48 -06:00
get_block_challenge.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
make_sub_epoch_summary.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
multiprocess_validation.py Fork infrastructure (#15299) 2023-05-18 20:20:11 -05:00
pos_quality.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
pot_iterations.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00
vdf_info_computation.py configure isort to add the future annotations import (#13327) 2022-09-30 03:40:22 -05:00