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
bcw
3e89bc5d2c
notify when client connection lost;
...
implement onConnectionLost() method in AbstractInterceptHandler.java;
2016-10-24 11:37:10 +08: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
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
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
andsel
5c7e2b357f
Fixed missed clean session for ClientSession, issue #145
2016-02-02 22:39:11 +01:00
andsel
d36de24349
Minor, modified access to fields of SubscribeMessage.Couple
2016-01-30 17:35:28 +01:00
andsel
a19af18a61
Moved read authorization check from publish phase to subscribe
2016-01-30 17:22:17 +01:00
andsel
43f7223a15
Minor refactory, renamed var names from session to channel
2016-01-24 19:21:24 +01:00
andsel
3be2667844
Minor refact, moved Channel's attributesKey accessible by utils methods
2016-01-24 19:21:24 +01:00
andsel
43371d3068
Minor refact, moved commons Channel attributes constants from NettyChannel to NettyUtils
2016-01-24 19:21:24 +01:00
andsel
7b1db3e1db
Refactoring, dropped unuseful ServerChannel abstraction in favor on Netty's Channel
2016-01-24 19:21:24 +01:00
andsel
beb556c73c
First clean of Moquette's channel abstraction to user Netty's one
2016-01-24 19:21:24 +01:00
andsel
4c1f36cf67
MOved the method nextClientID from IMessagesStore to the ISessionsStore because it's session related
2016-01-17 13:00:36 +01:00
andsel
8e891da49f
Removed client active/not active state from persistence (issue #118 )
2015-12-19 18:01:54 +01:00
andsel
f44518ff27
Moved security SPI related interfaces into dedicated package
2015-12-13 16:42:04 +01:00
andsel
6805cf89ee
Minor change, just renames
2015-12-08 15:15:51 +01:00
andsel
5a1cd97b71
Removed clean session flag from subscription and moved in the correct place (ClientSession)
2015-12-06 19:55:04 +01:00
andsel
80569d5dfe
Minor change, added a factory method for ClientTopicCouple built from Subscription
2015-12-06 19:31:36 +01:00
andsel
9ce9a6597f
Architechtural refactory, moved subscription out of tree and into db store
2015-12-06 11:43:29 +01:00
andsel
810d8a1af8
Removed TreeNode's parent reference to avoid maintaning a reference that could keep live big trees (solves #119 and #126 )
2015-12-01 22:59:38 +01:00
andsel
371c740321
Moved project package from org.eclipse.moquette to io.moquette
2015-11-20 21:30:59 +01:00