MqttConnectVariableHeader.java 2.5 KB
Newer Older
如梦技术's avatar
如梦技术 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
/*
 * Copyright 2014 The Netty Project
 *
 * The Netty Project licenses this file to you under the Apache License,
 * version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package net.dreamlu.iot.mqtt.codec;

/**
 * Variable Header for the {@link MqttConnectMessage}
 */
public final class MqttConnectVariableHeader {
	private final String name;
	private final int version;
	private final boolean hasUserName;
	private final boolean hasPassword;
	private final boolean isWillRetain;
	private final int willQos;
	private final boolean isWillFlag;
	private final boolean isCleanSession;
	private final int keepAliveTimeSeconds;

	public MqttConnectVariableHeader(
		String name,
		int version,
		boolean hasUserName,
		boolean hasPassword,
		boolean isWillRetain,
		int willQos,
		boolean isWillFlag,
		boolean isCleanSession,
		int keepAliveTimeSeconds) {
		this.name = name;
		this.version = version;
		this.hasUserName = hasUserName;
		this.hasPassword = hasPassword;
		this.isWillRetain = isWillRetain;
		this.willQos = willQos;
		this.isWillFlag = isWillFlag;
		this.isCleanSession = isCleanSession;
		this.keepAliveTimeSeconds = keepAliveTimeSeconds;
	}

	public String name() {
		return name;
	}

	public int version() {
		return version;
	}

	public boolean hasUserName() {
		return hasUserName;
	}

	public boolean hasPassword() {
		return hasPassword;
	}

	public boolean isWillRetain() {
		return isWillRetain;
	}

	public int willQos() {
		return willQos;
	}

	public boolean isWillFlag() {
		return isWillFlag;
	}

	public boolean isCleanSession() {
		return isCleanSession;
	}

	public int keepAliveTimeSeconds() {
		return keepAliveTimeSeconds;
	}

	@Override
	public String toString() {
		return "MqttConnectVariableHeader{" +
			"name='" + name + '\'' +
			", version=" + version +
			", hasUserName=" + hasUserName +
			", hasPassword=" + hasPassword +
			", isWillRetain=" + isWillRetain +
			", willQos=" + willQos +
			", isWillFlag=" + isWillFlag +
			", isCleanSession=" + isCleanSession +
			", keepAliveTimeSeconds=" + keepAliveTimeSeconds +
			'}';
	}

}