rabbitmq-server/deps/rabbitmq_mqtt
Michael Klishin 530cf87095 Handle socket write failures and log them
...instead of letting connection proceesses terminate and
the runtime to log scary looking crash reports.

STOMP has been doing this without logging for a while:

 * https://github.com/rabbitmq/rabbitmq-stomp/blame/v3.7.x/src/rabbit_stomp_reader.erl#L344
 * https://github.com/rabbitmq/rabbitmq-stomp/blob/v3.7.x/src/rabbit_stomp_processor.erl#L1167

Note that otherwise connection error handling is not affected
by this change.

While at it, added more debug logging.

Per discussion with @lukebakken.

References rabbitmq/rabbitmq-server#1862.
2019-02-05 02:49:36 +03:00
..
.github Add GitHub templates and contributing doc 2017-10-13 15:57:58 -07:00
include Allow giving the peer address directly for initial_state 2018-12-04 14:50:32 +01:00
priv/schema comment 2018-10-11 07:07:23 -07:00
src Handle socket write failures and log them 2019-02-05 02:49:36 +03:00
test Formatting 2019-02-03 20:09:41 +03:00
.gitignore Ignore debug/* 2018-01-03 03:30:01 +08:00
.travis.yml .travis.yml: use 21.2 as 21.2.2 builds are no available 2019-01-14 01:20:23 +03:00
.travis.yml.patch Travis CI: Update config from rabbitmq-common 2018-04-10 13:08:25 +02:00
CODE_OF_CONDUCT.md Update CONTRIBUTING.md, add CODE_OF_CONDUCT.md 2016-05-28 09:55:39 -07:00
CONTRIBUTING.md Update git-commit-msgs link 2018-08-28 16:19:03 -07:00
Makefile Use the built-in Ranch PROXY protocol support 2018-12-04 13:15:33 +01:00
README.md Replace broken link with correct Markdown 2017-11-17 19:37:13 +00:00
erlang.mk Update erlang.mk 2018-04-11 10:53:42 +02:00
rabbitmq-components.mk Update rabbitmq-components.mk 2019-01-09 12:55:12 -08:00

README.md

RabbitMQ MQTT Plugin

Getting Started

This is an MQTT plugin for RabbitMQ.

The plugin is included in the RabbitMQ distribution. To enable it, use rabbitmq-plugins:

rabbitmq-plugins enable rabbitmq_mqtt

Default port used by the plugin is 1883.

Documentation

MQTT plugin documentation is available from rabbitmq.com.

Contributing

See CONTRIBUTING.md.

Running Tests

After cloning RabbitMQ umbrella repository, change into the rabbitmq-mqtt directory and run

make tests

This will bring up a RabbitMQ node with the plugin enabled and run integration tests against it. Note that there must be no other MQTT server running on ports 1883 and 8883.

(c) 2007 — 2016 Pivotal Software, Inc.

Released under the Mozilla Public License, the same as RabbitMQ.