You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2015/12/30 22:13:03 UTC
[15/50] [abbrv] qpid-proton git commit: PROTON-1054: add acceptor
context to incoming reactor connections.
PROTON-1054: add acceptor context to incoming reactor connections.
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d6da8eb1
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d6da8eb1
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d6da8eb1
Branch: refs/heads/go1
Commit: d6da8eb1c534a5432fcf1b16db7e034f81db3314
Parents: f160ada
Author: Clifford Jansen <cl...@apache.org>
Authored: Wed Dec 9 10:25:53 2015 -0800
Committer: Clifford Jansen <cl...@apache.org>
Committed: Wed Dec 9 10:25:53 2015 -0800
----------------------------------------------------------------------
proton-c/include/proton/reactor.h | 1 +
proton-c/src/reactor/acceptor.c | 12 ++++++++++++
2 files changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d6da8eb1/proton-c/include/proton/reactor.h
----------------------------------------------------------------------
diff --git a/proton-c/include/proton/reactor.h b/proton-c/include/proton/reactor.h
index 0ac6f32..e91b169 100644
--- a/proton-c/include/proton/reactor.h
+++ b/proton-c/include/proton/reactor.h
@@ -86,6 +86,7 @@ PN_EXTERN pn_task_t *pn_reactor_schedule(pn_reactor_t *reactor, int delay, pn_ha
PN_EXTERN void pn_acceptor_set_ssl_domain(pn_acceptor_t *acceptor, pn_ssl_domain_t *domain);
PN_EXTERN void pn_acceptor_close(pn_acceptor_t *acceptor);
+PN_EXTERN pn_acceptor_t *pn_connection_acceptor(pn_connection_t *connection);
PN_EXTERN pn_timer_t *pn_timer(pn_collector_t *collector);
PN_EXTERN pn_timestamp_t pn_timer_deadline(pn_timer_t *timer);
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d6da8eb1/proton-c/src/reactor/acceptor.c
----------------------------------------------------------------------
diff --git a/proton-c/src/reactor/acceptor.c b/proton-c/src/reactor/acceptor.c
index 819af8e..8f0e99b 100644
--- a/proton-c/src/reactor/acceptor.c
+++ b/proton-c/src/reactor/acceptor.c
@@ -23,6 +23,7 @@
#include <proton/sasl.h>
#include <proton/selector.h>
#include <proton/transport.h>
+#include <proton/connection.h>
#include "reactor.h"
#include "selectable.h"
@@ -30,6 +31,7 @@ pn_selectable_t *pn_reactor_selectable_transport(pn_reactor_t *reactor, pn_socke
PN_HANDLE(PNI_ACCEPTOR_HANDLER)
PN_HANDLE(PNI_ACCEPTOR_SSL_DOMAIN)
+PN_HANDLE(PNI_ACCEPTOR_CONNECTION)
void pni_acceptor_readable(pn_selectable_t *sel) {
pn_reactor_t *reactor = (pn_reactor_t *) pni_selectable_get_context(sel);
@@ -49,6 +51,10 @@ void pni_acceptor_readable(pn_selectable_t *sel) {
pn_transport_bind(trans, conn);
pn_decref(trans);
pn_reactor_selectable_transport(reactor, sock, trans);
+ record = pn_connection_attachments(conn);
+ pn_record_def(record, PNI_ACCEPTOR_CONNECTION, PN_OBJECT);
+ pn_record_set(record, PNI_ACCEPTOR_CONNECTION, sel);
+
}
void pni_acceptor_finalize(pn_selectable_t *sel) {
@@ -95,3 +101,9 @@ void pn_acceptor_set_ssl_domain(pn_acceptor_t *acceptor, pn_ssl_domain_t *domain
pn_record_def(record, PNI_ACCEPTOR_SSL_DOMAIN, PN_VOID);
pn_record_set(record, PNI_ACCEPTOR_SSL_DOMAIN, domain);
}
+
+pn_acceptor_t *pn_connection_acceptor(pn_connection_t *conn) {
+ // Return the acceptor that created the connection or NULL if an outbound connection
+ pn_record_t *record = pn_connection_attachments(conn);
+ return (pn_acceptor_t *) pn_record_get(record, PNI_ACCEPTOR_CONNECTION);
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org