Marcus Williford 1bc6bdbbce Fix for CTrie TNode exception and other improvements to CTrie related
subscribe and unsubscribe issues

-  Added unit tests to cover a few more cases which I my system ran into
   under concurrent load testing.
-  Remove and detect TNode, implement more of
   http://bravenewgeek.com/breaking-and-entering-lose-the-lock-while-embracing-concurrency/
   related to TNode state
-  NOTE:  The graph is left with nodes which have no subscriptions, the
   TNode cleanup only cleanss the last node for now.  We should
   autoprune further up by placing more TNodes and pruning them off.
-  Adding concurrency Sets and Lists to CNode, because those ARE edited
   and read in parallel in our use-case.  Before a CNode is CAS
   replaced, more than 1 thread may be attempting to modify and read the
   subscriptions and children CNode datastructures, and I hit this
   during testing.
-  Fixed an issue where we unsubscribe all sub-topics if an unsubscribe
   is sent on a parent node.
-  Fixed an issue with unsubscribing multiple times when no subscrition
   exists, we should handle this gracefully.
2017-10-24 09:45:12 -07:00
2017-10-20 11:45:43 +02:00
2017-08-24 17:50:59 +02:00
2016-11-05 18:29:08 +01:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2017-06-29 16:59:56 +02:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2017-08-24 17:50:59 +02:00
2013-10-04 14:03:38 +02:00
2017-08-24 17:50:59 +02:00

What is Moquette?

Build Status

Its designed to be evented, uses Netty for the protocol encoding and decoding part.

Embeddable

[Freedomotic] (http://www.freedomotic.com/) Is an home automation framework, uses Moquette embedded to interface with MQTT world. Moquette is also used into [Atomize Spin] (http://atomizesoftware.com/spin) a software solution for the logistic field. Part of moquette are used into the [Vertx MQTT module] (https://github.com/giovibal/vertx-mqtt-broker-mod), into MQTT spy and into [WSO2 Messge broker] (http://techexplosives-pamod.blogspot.it/2014/05/mqtt-transport-architecture-wso2-mb-3x.html).

Try the demo instance

Point your MQTT client to broker.moquette.io

1 minute set up

Start play with it, download the self distribution tar from BinTray , the un untar and start the broker listening on 1883 port and enjoy!

tar zxf distribution-0.10-bundle-tar.tar.gz
cd bin
./moquette.sh

Or if you are on Windows shell

 cd bin
 .\moquette.bat

Embedding in other projects

To embed Moquette in another maven project is sufficient to include a repository and declare the dependency:

<repositories>
  <repository>
    <id>bintray</id>
    <url>https://jcenter.bintray.com</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

Include dependency in your project:

<dependency>
      <groupId>io.moquette</groupId>
      <artifactId>moquette-broker</artifactId>
      <version>0.10</version>
</dependency>

Build from sources

After a git clone of the repository, cd into the cloned sources and: ./gradlew clean distribution:distMoquetteTar or ./gradlew clean distribution:distMoquetteZip. In distribution/build directory will be produced the selfcontained file for the broker with all dependencies and a running script.

S
Description
No description provided
Readme
24 MiB
Languages
Java 99.2%
HTML 0.6%
Shell 0.1%