Alan Conway created PROTON-1045:
-----------------------------------

             Summary: Use of callbacks to handle accepted endpoints violates 
design goals.
                 Key: PROTON-1045
                 URL: https://issues.apache.org/jira/browse/PROTON-1045
             Project: Qpid Proton
          Issue Type: Bug
          Components: go-binding
    Affects Versions: 0.11
            Reporter: Alan Conway
            Assignee: Alan Conway
             Fix For: 0.12.0


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. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to