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

Handle incoming resolve messages. #480

Closed
wants to merge 36 commits into from

Commits on Mar 16, 2023

  1. WIP: handle incoming resolve messages.

    Still TODO:
    
    - We need to handle disembargos with target = (importedCap = ...).
    - Testing.
    zenhack committed Mar 16, 2023
    Configuration menu
    Copy the full SHA
    a3ffc4e View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2023

  1. cleanup: remove unnecessary declaration of importClient.

    The := below is sufficient, since this isn't actually used before that.
    zenhack committed Mar 18, 2023
    Configuration menu
    Copy the full SHA
    36b13bf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3cbff97 View commit details
    Browse the repository at this point in the history
  3. First stab at disembargos on imports.

    Needs testing.
    zenhack committed Mar 18, 2023
    Configuration menu
    Copy the full SHA
    9fbd8c6 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2023

  1. Add a test for disembargos on senderPromises.

    This caught a bug: we need to check if ClientState.Metadata is nil,
    which is possible if the client itself is null, and seems to happen to
    the promise after it is resolved.
    
    TODO: we should de-dup the logic between releaseExport and
    releaseExports. This is not entirely trivial though, because the
    latter is executed after we've wiped the exports table.
    zenhack committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    2061cfa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d50b6ce View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Fix the ownership semantics for NewLocalPromise

    These are much cleaner.
    zenhack committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    b11ac49 View commit details
    Browse the repository at this point in the history
  2. Remove no longer necessary .Release()

    ...now that the resolver takes ownership.
    zenhack committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    a1028be View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2023

  1. Configuration menu
    Copy the full SHA
    0799051 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2023

  1. Minor style cleanup

    zenhack committed Mar 23, 2023
    Configuration menu
    Copy the full SHA
    9a40e87 View commit details
    Browse the repository at this point in the history
  2. Correctly send receiverLoopbacks that target promisedAnswers.

    Worryingly, this was manifesting in the test as a deadlock: we hit the
    error complaining about it not being an import, but then connection
    shutdown hung, waiting on tasks. I haven't pinned down exactly what was
    going on there, but this sidesteps the issue by fixing the thing that
    was causing a connection abort in the first place.
    zenhack committed Mar 23, 2023
    Configuration menu
    Copy the full SHA
    e46bf47 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. Configuration menu
    Copy the full SHA
    14b7864 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. Configuration menu
    Copy the full SHA
    49578d5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a32a77 View commit details
    Browse the repository at this point in the history
  3. Clean up the way local promises work.

    Push the logic for flushing the answerqueue into the Promise type
    itself. This is much cleaner, and avoids some racy logic that I'm not
    sure was correct.
    zenhack committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    c78b076 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d7861ab View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. WIP: put a ClientSnapshot in the exports table

    ...instead of a Client. This is a step towards addressing the tribble
    4-way race condition. Currently there are some test failures.
    zenhack committed May 26, 2023
    Configuration menu
    Copy the full SHA
    2e138f0 View commit details
    Browse the repository at this point in the history
  2. ClientSnapshot.Release(): take pointer receiver.

    The call to waitRef.Release() in export.go was resolving the receiver
    too soon, resulting in a leak.
    zenhack committed May 26, 2023
    Configuration menu
    Copy the full SHA
    9999902 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7213fc1 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2023

  1. Configuration menu
    Copy the full SHA
    1cc3130 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'export-snapshot' into handle-resolve

    Has build errors that need fixing.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    8d71f0b View commit details
    Browse the repository at this point in the history
  3. CapTable: rename Get -> GetClient, Add -> AddClient

    I plan on adding *Snapshot versions and eventually storing snapshots
    internally.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    91d062a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5e0023a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    abf193b View commit details
    Browse the repository at this point in the history
  6. Remove argument to CapTable.Reset()

    This seems like an unnecessary complication, and I don't want to deal
    with it when porting stuff over to snapshots.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    76f95d5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    61ca9e5 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f967703 View commit details
    Browse the repository at this point in the history
  9. WIP: Add a Steal() method to Client and ClientSnapshot

    ...and use it to catch a bug; the test is failing, need to track it
    down.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    fe08d87 View commit details
    Browse the repository at this point in the history
  10. Add missing call to .AddRef()

    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    afeb534 View commit details
    Browse the repository at this point in the history
  11. pogs tests: clone input before inserting.

    Otherwise the target message steals the caps, resulting in errors
    later when we try to read them.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    7a23f9b View commit details
    Browse the repository at this point in the history
  12. Mark TestDuplicateBootstrap as flaky.

    Per capnproto#523, this is currently failing frequently. Mark it as flaky
    until we're ready to actually deal with it.
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    2372b53 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    1acb315 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    843e8b6 View commit details
    Browse the repository at this point in the history
  15. CapTable: maintain snapshots & clients in parallel.

    In addition to letting us hand out borrowed references, Storing the
    snapshots will facilitate code that needs them not to resolve further
    after AddSnapshot() or SetSnapshot().
    zenhack committed May 27, 2023
    Configuration menu
    Copy the full SHA
    575916e View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    75200fc View commit details
    Browse the repository at this point in the history

Commits on May 28, 2023

  1. Fix build errors.

    There are test failures that need debugging though.
    zenhack committed May 28, 2023
    Configuration menu
    Copy the full SHA
    0a99d60 View commit details
    Browse the repository at this point in the history