Skip to content

mempool: Introduce v2 module. #1613

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

Merged
merged 5 commits into from
Feb 15, 2019
Merged

Conversation

davecgh
Copy link
Member

@davecgh davecgh commented Feb 15, 2019

This decouples the mempool module from the dcrjson module to provide stronger module boundaries and reduce the dependency graph.

In order to accomplish this, a series of individual commits have been used to make the review process easier. Each commit message more thoroughly describes its purpose, but primarily they consist of the following:

  • Freeze version 1 of the mempool module
  • Remove the root module mempool override so building the software will still produce binaries based on the v1 module until the v2 module is fully released
  • Remove previously deprecated public APIs
  • Remove the RawMempoolVerbose function
  • Introduce a new type (VerboseTxDesc) and function (VerboseTxDescs) to provide all of the details previously encapsulated in the dcrjson.GetRawMempoolVerboseResult returned by RawMempoolVerbose
  • Bump the module version to v2
  • Update docs for the new module version

It should also be noted that this only introduces the new module and does not update anything to make use of it yet, so building the software will still produce binaries based on the v1 module.

@davecgh davecgh added this to the 1.5.0 milestone Feb 15, 2019

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
This serves as the final release of version 1 of the mempool module.
All future releases will be moving to version 2 of the module.

Consequently, it bumps the module version as follows:

- github.com/decred/dcrd/mempool@v1.2.0

It also removes the mempool override in the root module and updates it so building the
software will still produce binaries based on the v1 module until the v2
module is fully released.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
This removes the deprecated MinHighPriority constant as part of moving
to mempool/v2.

Note that since this constitutes a major break to the API, the mepool
module version will need to be bumped to version 2.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Currently, there is a tight coupling between the rpcserver and the
mempool by way of the RawMempoolVerbose function returning a
dcrjson.GetRawMempoolVerboseResult.

In order to remove the tight coupling, this introduces a new type and
function to the mempool module named VerboseTxDesc and VerboseTxDescs,
respectively, which provide all of the details necessary for the
rpcserver to be able to properly generate the dcrjson response
directly.

Also, it removes the old RawMempoolVerbose function and related
dependency imports on dcrjson since it is no longer required as a part
of moving to mempool/v2.

Note that since this constitutes a major break to the API, the mepool
module version will need to be bumped to version 2.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
This updates the docs/README.md file, module hierarchy graphviz, and
module hierarchy diagram to reflect the new module version
@davecgh davecgh force-pushed the mempool_introduce_v2 branch from ea3a33c to 6f106ad Compare February 15, 2019 00:53
@davecgh davecgh merged commit 6f106ad into decred:master Feb 15, 2019
@davecgh davecgh deleted the mempool_introduce_v2 branch March 4, 2019 00:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants