vsaw / gnunet-mqtt Goto Github PK
View Code? Open in Web Editor NEWGit clone of https://gnunet.org/svn/gnunet-mqtt/
License: GNU General Public License v3.0
Git clone of https://gnunet.org/svn/gnunet-mqtt/
License: GNU General Public License v3.0
The MQTT Spec says the following about topic strings:
Topic name: A UTF-encoded string. This must not contain Topic wildcard ("+", "#") characters.
See also MQTT and UTF8
Our current implementation for example failes to match topics like "/music/michal-jackson/" if there is any non alpha-numeric characters
When a peer is publishing a message it searches for subscribers via GNUNET_REGEX.
When a subscription is found create a new multicast channel
announce it (if there is no existing channel for the topic already) under
GNUNET_HashCode dht_key_of_accept_state = ... // get via REGEX api
GNUNET_HashCode dht_key_of_channel;
GNUNET_CRYPTO_hash(dht_key_of_accept_state, sizeof(struct GNUNET_HashCode), &dht_key_of_channel);
Right now no log output appears. It is unclear if this is because of configuration issues or if the log system is broken/not used correctly.
gnunet-mqtt has the option to run a self test using make check
. This however fails with the following message:
Parallelism: 4
Parallelism: 4
Jun 01 14:56:20-232872 mqtt-api-16563 WARNING Failed to connect to the MQTT service!
/bin/bash: line 5: 16563 Segmentation fault ${dir}$tst
FAIL: test_mqtt_single_peer
Parallelism: 4
Parallelism: 4
Jun 01 14:56:20-480316 arm-16600 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:20-492117 arm-16601 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:20-957997 mqtt-api-16584 WARNING Failed to connect to the MQTT service!
/bin/bash: line 5: 16584 Segmentation fault ${dir}$tst
Jun 01 14:56:20-963431 transport-16606 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:20-963569 transport-16606 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:20-964888 transport-16607 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:20-964909 transport-16607 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
FAIL: test_mqtt_multiple_peers
Parallelism: 4
Parallelism: 4
Jun 01 14:56:21-163587 mqtt-api-16618 WARNING Failed to connect to the MQTT service!
/bin/bash: line 5: 16618 Segmentation fault ${dir}$tst
FAIL: test_mqtt_unsubscribe
Parallelism: 4
Parallelism: 4
Jun 01 14:56:21-401538 arm-16655 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:21-406345 arm-16656 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:21-874616 mqtt-api-16639 WARNING Failed to connect to the MQTT service!
/bin/bash: line 5: 16639 Segmentation fault ${dir}$tst
Jun 01 14:56:21-880565 transport-16661 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:21-880595 transport-16661 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:21-882079 transport-16662 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:21-882104 transport-16662 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
FAIL: test_mqtt_regex_hash
Parallelism: 4
Parallelism: 4
Jun 01 14:56:22-229670 arm-16695 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:22-237867 arm-16694 ERROR Default service `mqtt' not configured correctly!
Jun 01 14:56:22-726978 mqtt-api-16673 WARNING Failed to connect to the MQTT service!
/bin/bash: line 5: 16673 Segmentation fault ${dir}$tst
Jun 01 14:56:22-733813 transport-16704 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:22-733847 transport-16704 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:22-735597 transport-16700 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
Jun 01 14:56:22-735620 transport-16700 ERROR Assertion failed at gnunet-service-transport_neighbours.c:2085.
FAIL: test_mqtt_regex_plus
===================================
5 of 5 tests failed
Please report to [email protected]
===================================
It is not documenting all the necessary arguments
... for the demo
...using auto conf & auto make
It always uses the one in /usr/local
which means that I can not test my changes unless they are installed first.
I guess there is a way to make it use the local one instead :)
for stuff like const and all that good jazz
When a peer subscribes to a regex announce the regex anonymously (using the new REGEX api).
Get the dht keys for accept states for the announced regex.
Check DHT for multicast channel for those accept states, get the channel public key form dht via a key generated like this
GNUNET_HashCode dht_key_of_accept_state = ... // get via REGEX api
GNUNET_HashCode dht_key_of_channel;
GNUNET_CRYPTO_hash(dht_key_of_accept_state, sizeof(struct GNUNET_HashCode), &dht_key_of_channel);
add the channels to a subscription list
ATM different subscribers on the same peer interfere with each other.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.