This commit is contained in:
		@@ -2,16 +2,24 @@ import org.eclipse.paho.client.mqttv3.*
 | 
			
		||||
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence
 | 
			
		||||
import java.time.Instant
 | 
			
		||||
 | 
			
		||||
class MqttSubscriber : MqttCallbackExtended {
 | 
			
		||||
class MqttSubscriber() : MqttCallbackExtended {
 | 
			
		||||
    private val broker = "tcp://mqtt.k8s.kmlabz.com:1883"
 | 
			
		||||
    private val clientId = MqttClient.generateClientId()
 | 
			
		||||
    private val persistence = MemoryPersistence()
 | 
			
		||||
    private val mqttClient = MqttAsyncClient(broker, clientId, persistence)
 | 
			
		||||
    private val mqttClient = MqttClient(broker, clientId, persistence)
 | 
			
		||||
    private val benchValues = HashMap<Int, Instant>()
 | 
			
		||||
    private val connOpts = MqttConnectOptions()
 | 
			
		||||
 | 
			
		||||
    init {
 | 
			
		||||
        connOpts.isCleanSession = true
 | 
			
		||||
        connOpts.userName = "birbnetes"
 | 
			
		||||
        connOpts.password = "de4d2182".toCharArray()
 | 
			
		||||
        connOpts.isAutomaticReconnect = true
 | 
			
		||||
        mqttClient.setCallback(MqttSubscriber())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun connectionLost(arg0: Throwable) {
 | 
			
		||||
        System.err.println("connection lost")
 | 
			
		||||
        mqttClient.reconnect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    override fun deliveryComplete(arg0: IMqttDeliveryToken) {
 | 
			
		||||
@@ -26,22 +34,29 @@ class MqttSubscriber : MqttCallbackExtended {
 | 
			
		||||
 | 
			
		||||
    override fun connectComplete(reconnect: Boolean, serverURI: String?) {
 | 
			
		||||
        println("Subscribing to all topics")
 | 
			
		||||
        try {
 | 
			
		||||
            mqttClient.subscribe("#", 0)
 | 
			
		||||
        }catch (e: MqttException) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun connect() {
 | 
			
		||||
        println("Connecting to broker")
 | 
			
		||||
        val connOpts = MqttConnectOptions()
 | 
			
		||||
        connOpts.isCleanSession = true
 | 
			
		||||
        connOpts.userName = "birbnetes"
 | 
			
		||||
        connOpts.password = "de4d2182".toCharArray()
 | 
			
		||||
        mqttClient.setCallback(MqttSubscriber())
 | 
			
		||||
        try {
 | 
			
		||||
            mqttClient.connect(connOpts)
 | 
			
		||||
        }catch (e: MqttException) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun disconnect(): HashMap<Int, Instant> {
 | 
			
		||||
        println("Disconnecting from broker")
 | 
			
		||||
        try {
 | 
			
		||||
            mqttClient.disconnect()
 | 
			
		||||
        }catch (e: MqttException) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
        mqttClient.close()
 | 
			
		||||
        return benchValues
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user