Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1045

Use of callbacks to handle accepted endpoints violates design goals.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-0.11.0
    • proton-0.12.0
    • go-binding
    • None

    Description

      The electron.Connectoin takes an "accept" callback function to process incoming endpoint requests (sessions, links) This violates the original design goal to have no user code called in the proton goroutine. It relies on the user knowing which functions they are allowed to call in the callback since many user-facing functions can deadlock if called in the proton goroutine.

      Fix this by having proton provide Incoming requests to the user via a channel. This is also more consistent with typical use of the go net package: when there is something to accept, you start a goroutine to do it, you don't register a callback.

      Attachments

        Activity

          People

            aconway Alan Conway
            aconway Alan Conway
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: