Fix main API & Stats typespecs and provide default values for stats #204
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The typespecs for stats currently do not match the return values and cause dialyzer errors for users. To update and keep the typespec accurate, default values for the stats properties should be present as this is the most common use case. Specs for all the main API functions not related to distributed or dump/load functionality have been updated to accurately reflect possible return values.
I would advocate for moving hit/miss rates to the gen_server retrieve as I do not see any risk to calculating when retrieving since the divide by zero cases are covered and this would centralize all of the stats. I did not move it at this time but would be happy to as part of this PR.
There are a few small code cleanups, as well.