import { MsgClientType } from "./MsgClientType";
import { MsgType } from "./MsgType";
import { YMSMessage } from "./YMSMessage";

export class WillMessage extends YMSMessage {

    constructor(sender: MsgClientType, receiver: MsgClientType) {
        super(sender, receiver, MsgType.WILL);
    }

    // override
    public getQoS(): number {
        return 2;
    }

    // override
    public isRetained(): boolean {
        return false;
    }

    toString(): string {
        return `WillMessage{` +
          `timestamp=${this.timestamp}, ` +
          `sender=${MsgClientType[this.sender]}, ` +
          `receiver='${MsgClientType[this.receiver]}, ` +
          `msgType=${MsgType[this.msgType]}, ` +
          `senderClientId='${this.senderClientId}'` +
          `}`;
    }

}