Commit Graph
70 Commits
Author SHA1 Message Date
Andreas Mager 5206cc3df7 broker/NettyChannelAssertions: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 65faa69852 broker/MockReceiverChannel: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 83dc0f99b6 broker/MockAuthenticator: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager edc2515caa broker/MemoryStorageService: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager be8a2f4ca4 broker/MemoryMessagesStore: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 0bf059afcf broker/BrokerInterceptorTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 47c76fafc1 broker/ClientSessionTest: code formatter used 2017-02-01 17:13:42 +01:00
Andrea Selva ff4c5dff3b Merge pull request #261 from AndreasMager/adding-assertj 2017-02-01 13:39:32 +01:00
Andreas Mager 94475d2b04 ProtocolProcessorTest#testCleanRetainedStoreAfterAQoS0AndRetainedTrue:
check added if test is in the correct state
2017-01-30 16:07:16 +01:00
Andreas Mager f25af642b0 SubscriptionsStoreTest: containsExactlyInAnyOrder used for matches 2017-01-30 15:51:50 +01:00
Andreas Mager c5b7fd52c5 SubscriptionsStoreTest: assertj used for assertions 2017-01-30 15:51:50 +01:00
Andreas Mager f460d6a230 SubscriptionsStoreTest: classname used for static access 2017-01-30 15:50:42 +01:00
Andreas Mager 504ac3055e SubscriptionsStoreTest: whitespaces removed 2017-01-30 15:50:42 +01:00
andsel 1c64186a00 Switched from Moquette's MQTT codec to Netty's MQTT codec ones 2017-01-28 15:59:44 +01:00
Andreas Mager 01e7465f0c MemorySessionStore: HashMap replaced by Map Interface 2017-01-26 21:42:21 +01:00
Andreas Mager 6f7011c9f2 MemorySessionStore#m_persistentSubscriptions: Map Layout changed
If one clientid subscribes a lot of topics the old implementation
struggles with the for loops
2017-01-23 18:37:43 +01:00
Luis Barrios d7d97a74d8 Add simple connection management capabilities to the broker. An external codebase will now be able to monitor and close the opened connections. 2017-01-12 17:00:18 +01:00
Luis Barrios 46fcdc0894 Allow InterceptHandler to specify the messages they can intercept. This allows us to improve the performance of the broker interceptor, and will make log traces more clear.
- Add methods to return an unique identifier and the supported message types at the InterceptHandler interface.
- Include a default implementation of the new methods in the AbstractInterceptHandler. By default, all the interceptors will be able to handle any message (same as before).
- Comment verifyNoMoreInteractions() call from the BrokerInterceptorTest.testAddAndRemoveInterceptHandler(). The removeInterceptHandler() method of the broker interceptor
  polls the InterceptHandler, so an interaction will always exist after the call to onSubscribe().
2017-01-10 17:06:13 +01:00
andsel ac8a11fefa Removed the reference counter for stored messages 2017-01-09 21:59:09 +01:00
andsel 081631242f Removed old 'map based queues' to use persistent BlockingQueues from MapDB 2017-01-09 21:53:26 +01:00
andsel 3f0ab75efb Updated copiright to year 2017 2017-01-04 14:37:29 +01:00
andsel 12a3c65c9b Fixed javadoc (issue #164) 2017-01-04 12:52:42 +01:00
andsel a54b122094 Substituted complex test to check lowering of qos level to the same accepted on subscription time 2016-12-13 23:43:02 +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 b6239b3c5c Changed SUBSCRIPTION processing to be based on concurrent 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 3e89bc5d2c notify when client connection lost;
implement onConnectionLost() method in AbstractInterceptHandler.java;
2016-10-24 11:37:10 +08: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 912a88ec0a Minor, switched from .replace to .put (JDK 1.7 compatibility) 2016-09-23 12:10:42 +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
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
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
Martin Crawford d622adb4ef Add clientID parameter to the IAuthenticator interface (breaks compatibility). 2016-06-26 10:01:15 -04: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
mackristof 4bcecd5aa3 Added integration of DBAuthenticator & integration test with H2 DB 2016-05-13 16:43:08 +02:00
mackristof cad1165071 Added DBAuthenticator & Test with H2 DB 2016-05-12 15:47:49 +02:00
Dee Eldredge 1e7f6d98e7 Based on feedback, renamed messageConsumed -> messageAcknowledged. 2016-03-23 23:11:09 +01:00
Dee Eldredge 7dab8a367f Added username to all messages. From a consumer perspective the username is more useful than a clientID which is often autogenerated. 2016-03-23 23:10:24 +01:00
Dee Eldredge f44283d5f0 Added onMessageConsumed logic.
Related to:  https://github.com/andsel/moquette/issues/156
2016-03-23 23:09:16 +01:00
andsel 4e8f72a34b Moved test to use a test client callback that queue up all received messages 2016-03-06 19:50:47 +01:00
andsel 5487303095 Merged parser_commons into netty_parser 2016-02-03 23:20:15 +01:00