feat(mqtt): add MQTT listener, client creation, and shutdown wiring
Wire up the MQTT server-side orchestration layer (Task 1 of 7): - Create NatsServer.Mqtt.cs with StartMqttListener(), CreateMqttClient(), MqttAddr() - Forward MqttHandler.StartMqtt() to server.StartMqttListener() - Add _mqttListener to Shutdown() doneExpected counting - Fix ReadyForConnections to recognize active MQTT listener - Handle RandomPort (-1) as ephemeral for MQTT listener - Remove duplicate Mqtt field from ClientConnection.cs (already in ClientConnection.Mqtt.cs) - Add 2 MQTT boot integration tests (accept + shutdown lifecycle)
This commit is contained in:
@@ -79,9 +79,11 @@ public sealed partial class NatsServer
|
||||
_listener = null;
|
||||
}
|
||||
doneExpected += CloseWebsocketServer();
|
||||
if (_gateway.Enabled)
|
||||
if (_mqttListener != null)
|
||||
{
|
||||
// mqtt listener managed by session 22
|
||||
doneExpected++;
|
||||
_mqttListener.Stop();
|
||||
_mqttListener = null;
|
||||
}
|
||||
if (_leafNodeListener != null)
|
||||
{
|
||||
@@ -505,7 +507,7 @@ public sealed partial class NatsServer
|
||||
leafOk = opts.LeafNode.Port == 0 || _leafNodeListener != null;
|
||||
leafErr = _leafNodeListenerErr;
|
||||
wsOk = opts.Websocket.Port == 0 || _websocket.Listener != null;
|
||||
mqttOk = opts.Mqtt.Port == 0;
|
||||
mqttOk = opts.Mqtt.Port == 0 || _mqttListener != null;
|
||||
_mu.ExitReadLock();
|
||||
|
||||
checks["server"] = (serverOk, serverErr);
|
||||
|
||||
Reference in New Issue
Block a user