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

API to know if the square is repairable #107

Open
Wondertan opened this issue Jul 14, 2022 · 1 comment
Open

API to know if the square is repairable #107

Wondertan opened this issue Jul 14, 2022 · 1 comment
Labels
enhancement New feature or request good first issue Good for newcomers T:proposal

Comments

@Wondertan
Copy link
Member

Wondertan commented Jul 14, 2022

Currently, users must count and assume that 1/4 of shares is enough to start repairing. Instead, a more precise API should be provided to tell the user if the square is repairable. This way, we would:

  • Be able to measure the exact time it takes to repair the square
    • Repair method, currently, does repairing for rows and cols silently on each call even when an error happens
    • This spreads repairing over multiple tries with time gaps based between each try
    • The gap is based on another network share being retrieved which kicks off another try
    • Such gaps pollute the time results of each Repair try

(no offense to solveCrossword method, really love how its written, besides solveCrosswordRow/Col being split instead of general code path)

  • Lower the number of idle repairing tries
@Wondertan Wondertan added enhancement New feature or request T:proposal labels Jul 15, 2022
@adlerjohn
Copy link
Member

So basically this function would assume that you can fully reconstruct any rows/cols with enough shares, then keep making this assumption until either the square is assumed fully repaired or it runs out of at-least-half-full rows/cols? Removing the overhead of tracking Merkle roots and mismatches, it should be much faster to execute (and could even be executed iteratively if it returns the set of shares that would be repaired so new indices can be inserted).

@adlerjohn adlerjohn added the good first issue Good for newcomers label Jul 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers T:proposal
Projects
None yet
Development

No branches or pull requests

2 participants