You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/11/12 19:51:11 UTC
[jira] [Commented] (PROTON-1045) Use of callbacks to handle
accepted endpoints violates design goals.
[ https://issues.apache.org/jira/browse/PROTON-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002622#comment-15002622 ]
ASF subversion and git services commented on PROTON-1045:
---------------------------------------------------------
Commit 91fe6e0fda07efa07f10a97d906eee114c86d6bf in qpid-proton's branch refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=91fe6e0 ]
PROTON-1045: Use of callbacks to handle accepted endpoints violates design goals.
Get rid of use of callback functions that run in proton goroutine.
Use a channel instead for Incoming requests, all user code runs in user goroutines.
Safer and more consistent.
> 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)