[GitHub] [celix] abroekhuis commented on a change in pull request #264: Bugfix/zmq wrong sender connections

2020-06-30 Thread GitBox


abroekhuis commented on a change in pull request #264:
URL: https://github.com/apache/celix/pull/264#discussion_r447674335



##
File path: bundles/pubsub/pubsub_admin_tcp/src/pubsub_tcp_admin.c
##
@@ -610,15 +610,13 @@ celix_status_t pubsub_tcpAdmin_addDiscoveredEndpoint(void 
*handle, const celix_p
 
 if (pubsub_tcpAdmin_endpointIsPublisher(endpoint)) {
 celixThreadMutex_lock(>topicReceivers.mutex);
-const char *scope = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_SCOPE, NULL);
-const char *topic = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_NAME, NULL);
-char *key = pubsubEndpoint_createScopeTopicKey(scope, topic);
-
-pubsub_tcp_topic_receiver_t *receiver = 
hashMap_get(psa->topicReceivers.map, key);
-if (receiver != NULL) {
-pubsub_tcpAdmin_connectEndpointToReceiver(psa, receiver, endpoint);
+hash_map_iterator_t iter = 
hashMapIterator_construct(psa->topicReceivers.map);

Review comment:
   Ok, I get it. To me it still sounds like work that needs to be done, but 
for now I'm fine with it.
   I think we need a task to fix this properly, and describe how it is done. If 
this breaks compatibility, so be it, things aren't getting clearer with the 
current codebase ;).





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [celix] abroekhuis commented on a change in pull request #264: Bugfix/zmq wrong sender connections

2020-06-30 Thread GitBox


abroekhuis commented on a change in pull request #264:
URL: https://github.com/apache/celix/pull/264#discussion_r447471177



##
File path: bundles/pubsub/pubsub_admin_tcp/src/pubsub_tcp_admin.c
##
@@ -610,15 +610,13 @@ celix_status_t pubsub_tcpAdmin_addDiscoveredEndpoint(void 
*handle, const celix_p
 
 if (pubsub_tcpAdmin_endpointIsPublisher(endpoint)) {
 celixThreadMutex_lock(>topicReceivers.mutex);
-const char *scope = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_SCOPE, NULL);
-const char *topic = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_NAME, NULL);
-char *key = pubsubEndpoint_createScopeTopicKey(scope, topic);
-
-pubsub_tcp_topic_receiver_t *receiver = 
hashMap_get(psa->topicReceivers.map, key);
-if (receiver != NULL) {
-pubsub_tcpAdmin_connectEndpointToReceiver(psa, receiver, endpoint);
+hash_map_iterator_t iter = 
hashMapIterator_construct(psa->topicReceivers.map);

Review comment:
   Why not get the entry based on topic/scope? Since that is still possible 
imo (only when topic/scope match, it is connceted).

##
File path: bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c
##
@@ -660,15 +660,13 @@ celix_status_t pubsub_zmqAdmin_addDiscoveredEndpoint(void 
*handle, const celix_p
 
 if (pubsub_zmqAdmin_endpointIsPublisher(endpoint)) {
 celixThreadMutex_lock(>topicReceivers.mutex);
-const char *scope = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_SCOPE, NULL);
-const char *topic = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_NAME, NULL);
-char *key = pubsubEndpoint_createScopeTopicKey(scope, topic);
-
-pubsub_zmq_topic_receiver_t *receiver = 
hashMap_get(psa->topicReceivers.map, key);
-if (receiver != NULL) {
-pubsub_zmqAdmin_connectEndpointToReceiver(psa, receiver, endpoint);
+hash_map_iterator_t iter = 
hashMapIterator_construct(psa->topicReceivers.map);

Review comment:
   Again

##
File path: bundles/pubsub/pubsub_admin_udp_mc/src/pubsub_udpmc_admin.c
##
@@ -472,13 +472,12 @@ celix_status_t pubsub_udpmcAdmin_addEndpoint(void 
*handle, const celix_propertie
 
 if (pubsub_udpmcAdmin_endpointIsPublisher(endpoint)) {
 celixThreadMutex_lock(>topicReceivers.mutex);
-const char *scope = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_SCOPE, NULL);
-const char *topic = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_NAME, NULL);
-char *key = pubsubEndpoint_createScopeTopicKey(scope, topic);
-
-pubsub_udpmc_topic_receiver_t *receiver = 
hashMap_get(psa->topicReceivers.map, key);
-if (receiver != NULL) {
-pubsub_udpmcAdmin_connectEndpointToReceiver(psa, receiver, 
endpoint);
+hash_map_iterator_t iter = 
hashMapIterator_construct(psa->topicReceivers.map);

Review comment:
   Same here

##
File path: bundles/pubsub/pubsub_admin_websocket/src/pubsub_websocket_admin.c
##
@@ -460,13 +460,12 @@ celix_status_t 
pubsub_websocketAdmin_addDiscoveredEndpoint(void *handle, const c
 
 if (type != NULL && strncmp(PUBSUB_PUBLISHER_ENDPOINT_TYPE, type, 
strlen(PUBSUB_PUBLISHER_ENDPOINT_TYPE)) == 0) {
 celixThreadMutex_lock(>topicReceivers.mutex);
-const char *scope = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_SCOPE, NULL);
-const char *topic = celix_properties_get(endpoint, 
PUBSUB_ENDPOINT_TOPIC_NAME, NULL);
-char *key = pubsubEndpoint_createScopeTopicKey(scope, topic);
-
-pubsub_websocket_topic_receiver_t *receiver = 
hashMap_get(psa->topicReceivers.map, key);
-if (receiver != NULL) {
-pubsub_websocketAdmin_connectEndpointToReceiver(psa, receiver, 
endpoint);
+hash_map_iterator_t iter = 
hashMapIterator_construct(psa->topicReceivers.map);

Review comment:
   Same here.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org