Skip to content

Properly manage the allocation of CClaimTrieNode #158

@kaykurokawa

Description

@kaykurokawa

CClaimTrieNode (nodes on a claimtrie) is currently allocated/de-allocated through the new/delete operators which has caused some problems in the past: #94

Using shared pointers would be a good improvement over this, so this could be the first step on this issue. Furthermore, we need to restructure the code so that we have a fixed size memory pool that limits the number of CClaimTrieNode objects that can be loaded into memory, while the rest is kept on disk (at this point the code will create CClaimTrieNode objects until it runs out of memory)

This PR was started to solve this problem #100 using the PIMPL idiom but was left unfinished. I think it has the right idea, but it ran into a bug that we could not resolve. Further work on this should at least involve looking over this PR to see if it is a good approach, and suggest alternative approach if not.

Acceptance Criteria

Definition of Done

  • Tested against acceptance criteria
  • Tested against the assumptions of the user story
  • The project builds without errors
  • Unit tests are written and passing
  • Tests on devices/browsers listed in the issue have passed
  • QA performed & issues resolved
  • Refactoring completed
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Metadata

Metadata

Assignees

Labels

on holdTemporarily pausedtype: improvementExisting (or partially existing) functionality needs to be changedtype: refactorMinimal user-visible changes, but significant internal work

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions