diff options
Diffstat (limited to 'src/main/java/re/jag/mcqtt/MQTTHandler.java')
-rw-r--r-- | src/main/java/re/jag/mcqtt/MQTTHandler.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/re/jag/mcqtt/MQTTHandler.java b/src/main/java/re/jag/mcqtt/MQTTHandler.java new file mode 100644 index 0000000..78033c1 --- /dev/null +++ b/src/main/java/re/jag/mcqtt/MQTTHandler.java @@ -0,0 +1,38 @@ +package re.jag.mcqtt; + +import org.eclipse.paho.client.mqttv3.MqttClient; +import org.eclipse.paho.client.mqttv3.MqttException; + +public class MQTTHandler { + private String server; + private String user; + private String password; + + private MqttClient client; + private Thread client_thread; + private boolean should_stop = false; + + MQTTHandler(String _server, String _user, String _password){ + try { + client = new MqttClient(_server, _user); + } catch (MqttException e) { + Mcqtt.LOG.error(e.getMessage()); + return; + } + + client_thread = new Thread(this::run); + client_thread.run(); + } + + private void run() { + while ( ! should_stop ) { + // TODO wait for publish interval + if ( ! client.isConnected() ) { + try { client.connect(); } catch (MqttException e) { + Mcqtt.LOG.error( e.getMessage() ); + continue; // TODO wait for reconnect + } + } + } + } +} |