2017-04-12 17:40:32 +02:00
|
|
|
/*
|
2018-04-27 20:17:47 +02:00
|
|
|
* Copyright (c) 2012-2018 The original author or authors
|
2017-04-12 17:40:32 +02:00
|
|
|
* ------------------------------------------------------
|
|
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
|
|
|
* and Apache License v2.0 which accompanies this distribution.
|
|
|
|
|
*
|
|
|
|
|
* The Eclipse Public License is available at
|
|
|
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
|
*
|
|
|
|
|
* The Apache License v2.0 is available at
|
|
|
|
|
* http://www.opensource.org/licenses/apache2.0.php
|
|
|
|
|
*
|
|
|
|
|
* You may elect to redistribute this code under either of these licenses.
|
|
|
|
|
*/
|
2017-02-01 15:07:17 +01:00
|
|
|
|
2017-01-12 17:00:18 +01:00
|
|
|
package io.moquette.connections;
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
|
|
|
|
/**
|
2017-02-01 15:07:17 +01:00
|
|
|
* A class that represents the overall connection status of a MQTT session. Its instances will be
|
|
|
|
|
* used by an external codebase when the broker is configured in embedded mode.
|
2017-01-12 17:00:18 +01:00
|
|
|
*/
|
|
|
|
|
public class MqttSession {
|
|
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
private boolean connectionEstablished;
|
|
|
|
|
private boolean cleanSession;
|
|
|
|
|
private int inflightMessages;
|
|
|
|
|
private int pendingPublishMessagesNo;
|
|
|
|
|
private int secondPhaseAckPendingMessages;
|
|
|
|
|
private Collection<MqttSubscription> activeSubscriptions;
|
|
|
|
|
private MqttConnectionMetrics connectionMetrics;
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public boolean isConnectionEstablished() {
|
|
|
|
|
return connectionEstablished;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public void setConnectionEstablished(boolean connectionEstablished) {
|
|
|
|
|
this.connectionEstablished = connectionEstablished;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public boolean isCleanSession() {
|
|
|
|
|
return cleanSession;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public void setCleanSession(boolean cleanSession) {
|
|
|
|
|
this.cleanSession = cleanSession;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int getPendingPublishMessagesNo() {
|
2017-01-12 17:00:18 +01:00
|
|
|
return pendingPublishMessagesNo;
|
|
|
|
|
}
|
2017-02-01 15:07:17 +01:00
|
|
|
|
|
|
|
|
public void setPendingPublishMessagesNo(int pendingPublishMessagesNo) {
|
2017-01-12 17:00:18 +01:00
|
|
|
this.pendingPublishMessagesNo = pendingPublishMessagesNo;
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public int getInflightMessages() {
|
|
|
|
|
return inflightMessages;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-02-01 15:07:17 +01:00
|
|
|
public void setInflightMessages(int inflightMessages) {
|
|
|
|
|
this.inflightMessages = inflightMessages;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-01-12 17:25:46 +01:00
|
|
|
public int getSecondPhaseAckPendingMessages() {
|
|
|
|
|
return secondPhaseAckPendingMessages;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-01-12 17:25:46 +01:00
|
|
|
public void setSecondPhaseAckPendingMessages(int secondPhaseAckPendingMessages) {
|
|
|
|
|
this.secondPhaseAckPendingMessages = secondPhaseAckPendingMessages;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-01-12 17:25:46 +01:00
|
|
|
public Collection<MqttSubscription> getActiveSubscriptions() {
|
|
|
|
|
return activeSubscriptions;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
2017-01-12 17:25:46 +01:00
|
|
|
public void setActiveSubscriptions(Collection<MqttSubscription> activeSubscriptions) {
|
|
|
|
|
this.activeSubscriptions = activeSubscriptions;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MqttConnectionMetrics getConnectionMetrics() {
|
|
|
|
|
return connectionMetrics;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setConnectionMetrics(MqttConnectionMetrics connectionMetrics) {
|
|
|
|
|
this.connectionMetrics = connectionMetrics;
|
|
|
|
|
}
|
2017-01-12 17:00:18 +01:00
|
|
|
|
|
|
|
|
}
|