Commit Graph
86 Commits
Author SHA1 Message Date
andsel b58cd086ea Inverted some ifs to get the semantic of ifs more clear 2016-12-13 23:43:02 +01:00
andsel 968e021711 Reintroduced bad removed conditions 2016-12-13 23:43:02 +01:00
andsel 105a06537c Moved code to make InternalPublisher.publishRetained() almost similar to InternalPublisher.publishStored() 2016-12-13 23:43:02 +01:00
andsel 5d02239dc1 Extracted common code for internal republish 2016-12-13 23:43:02 +01:00
andsel 5b254cfe75 Changed che willpublish to use the Qos2Publisher helper class 2016-12-13 23:43:02 +01:00
andsel 1e04292ba2 Moved qos2 publish to separate class 2016-12-13 23:43:02 +01:00
andsel 1c2fe8c8fe Moved publishing logic for qos1 to separate class 2016-12-13 23:43:02 +01:00
andsel a53772f094 Separated qos0 publishing logic from publish handler 2016-12-13 23:43:02 +01:00
andsel e6bb883334 Minor, just public class to package private 2016-12-13 23:43:02 +01:00
andsel a9f53a4a95 Moved Qos2 publish handling code to separate class 2016-12-13 23:43:02 +01:00
andsel d65886343b Moved QoS1 publish handling to separate class 2016-12-13 23:43:02 +01:00
andsel 81a447dce9 Reinserted route to qo0 branch in publish2Subscribers for internal publish 2016-12-13 23:43:02 +01:00
andsel 12ed805737 Moved qos0 publishing logic to separate class 2016-12-13 23:43:01 +01:00
andsel c62f549176 Minor, just code layout 2016-12-13 23:43:01 +01:00
andsel 296af8b4f6 Renamed route2Subscribers() to publish2Subscribers() 2016-12-13 23:43:01 +01:00
andsel 3355e7c334 Moved selection of subscriptions out of route2Subscribers 2016-12-13 23:43:01 +01:00
andsel c727ee87d3 Extracted method to verify credentials on publish 2016-12-13 23:43:01 +01:00
andsel c28673b83b introduced methods to threat every single qos 2016-12-13 23:43:01 +01:00
andsel 558b4a4c64 Changed SUBSCRIPTION processing to be based on concurrent FSM 2016-12-08 16:31:01 +01:00
andsel b6239b3c5c Changed SUBSCRIPTION processing to be based on concurrent FSM 2016-11-27 21:35:20 +01:00
andsel 3ac692a7c7 Removed unuseful sessionStolen attribute from channel 2016-11-27 21:35:20 +01:00
andsel 9a7e643742 Cleaned unused code 2016-11-27 21:35:20 +01:00
andsel 18fa8f4baf Reworked DISCONNECT to be implemented as fsm 2016-11-27 21:35:20 +01:00
andsel 38746ad0dd Moved existing CONNECT processing to an FSM 2016-11-27 21:35:20 +01:00
andsel 7508275cf7 Changed the way a Client session is active and moved to event and states of Channel for CONNECT and DISCONNET messages 2016-11-05 18:29:08 +01:00
Andrea Selva ccdb50e760 Merge pull request #224 from bcw104/master
broker: notify when client connection lost
2016-11-05 17:08:09 +01:00
bcw 03c0097641 broker: notify when client connection lost 2016-10-21 10:28:36 +08:00
teranisi 0c5f0f293f Merge conflicts. 2016-10-20 14:27:51 +09:00
teranisi 90998c447b Make Subscription class immutable. 2016-10-20 14:23:57 +09:00
teranisi 81a1d8d2b2 Add 'getSubscriptions' API on Server.
Add a test for sessions without clean session flag.
2016-10-20 14:23:57 +09:00
andsel cf67d5ac52 Fixed the issue 204, forcing flush at each write insted of wait for the Channel to be flushed 2016-09-27 22:35:16 +02:00
andsel 8215e89d77 Changed String for guids to its value object 2016-09-23 11:51:25 +02:00
andsel ac5a4daa6f Changed the way of create MapDB's messages and session stores, it's now more coupled (they are the same stuff at the end) 2016-09-23 10:11:50 +02:00
andsel 4d637a349b Fixed drop messages in clean session phase, introduced ref counter 2016-09-23 09:45:47 +02:00
teranisi d664227436 Add 'getSubscriptions' API on Server.
Add a test for sessions without clean session flag.
2016-09-16 22:52:35 +09:00
Andrea Selva 8b7458a6c4 Merge pull request #191 from kevto/hotfix/allow-zero-byte-clientid
Allow zero byte client identifiers in the connect message.
2016-08-07 22:29:56 +02:00
Kevin Berendsen 807debb622 Terminating the connection if the client failed to receive a CONNACK packet with a non-zero return code. Stated in 3.2.2.3 of MQTT 3.1.1 specificaton.
Was checking the wrong channel to see if it was still open or not. The channel that the test was checking on was disconnected a few lines above.
2016-08-07 13:34:06 +02:00
Kevin Berendsen bc6525e431 MQTT3.1.3-6 stated that the client can connect without giving up an client identifier. However, the broker should generate one for the client id as of the client gave the identifier to broker. The client will now disconnect if the client hasn't given up an identifier with clean session set to 0. Done this regarding issue #190
NettyChannelAssertions class has been modified so you could add a message to the assertion.

Unit tests have been added to test the modified processConnect() method.

The server can allow zero byte client identifiers through moquette configuration.
2016-08-07 13:17:41 +02:00
andsel 32b6b9b1da Minor, renamed SimpleMessaging to ProtocolProcessorBootstrapper 2016-07-22 13:32:25 +02:00
Andrea Selva 3085ee54d8 Merge pull request #189 from andsel/mackristof-feat/cluster
Mackristof feat/cluster
2016-07-22 12:13:16 +02:00
andsel fedd2965cc Fixed Hazelcast itnegration tests, removing unusefull thread sleeps, but more important permitting the co existence of 2 Brokers in the same JVM 2016-07-22 12:09:10 +02:00
andsel 7886bf7103 Merge branch 'feat/cluster' of https://github.com/mackristof/moquette into mackristof-feat/cluster 2016-07-21 16:17:15 +02:00
kevto 486b4fe8ba Moved the overrideSubscription test from SubscriptionsStoreTest to a new test case named ClientSession. Removed a parameter in ClientSession.subscribe method. topicFilter param had no use but for logging purposes. 2016-07-17 14:24:19 +02:00
Andrea Selva 3d2e69cc21 Merge pull request #187 from iodb/master
add/remove InterceptHandlers with server running
2016-07-10 11:22:44 +02:00
IODBEEC1 ed9d91e527 add/remove InterceptHandlers with server running 2016-07-09 09:09:57 +02:00
andsel 1ef2a4fd3c Minor change, remove a redundant ClientID param from verifyToActivate method 2016-07-02 12:30:19 +02:00
mackristof eec4dc1779 feat(cluster): add default clustering feature 2016-06-28 17:27:35 +02:00
Martin Crawford d622adb4ef Add clientID parameter to the IAuthenticator interface (breaks compatibility). 2016-06-26 10:01:15 -04:00
andsel 693a9a454f Fixed bug, missed insertion into flight zone of QOS1 messages 2016-06-18 12:21:21 +02:00
andsel 0c4f7fa393 Refactored the part of move from inFlight to second stage rel ack, this driven to missed notification to the interceptors 2016-06-16 23:01:48 +02:00