yimultiscreenserver-sdk-web
Version:
YiMultiScreenServer SDK for Web
44 lines (35 loc) • 1.27 kB
text/typescript
import { MsgClientType } from "./MsgClientType";
import { MsgType } from "./MsgType";
export abstract class YMSMessage {
timestamp: number;
sender: MsgClientType;
receiver: MsgClientType;
msgType: MsgType;
senderClientId: string;
constructor(sender: MsgClientType, receiver: MsgClientType, msgType: MsgType) {
this.timestamp = Date.now();
this.sender = sender;
this.receiver = receiver;
this.msgType = msgType;
this.senderClientId = "";
}
equals(o: any): boolean {
return o instanceof YMSMessage &&
this.timestamp === o.timestamp &&
this.sender === o.sender &&
this.receiver === o.receiver &&
this.msgType === o.msgType &&
this.senderClientId === o.senderClientId;
}
toString(): string {
return `YMSMessage{` +
`timestamp=${this.timestamp}, ` +
`sender=${MsgClientType[this.sender]}, ` +
`receiver='${MsgClientType[this.receiver]}, ` +
`msgType=${MsgType[this.msgType]}, ` +
`senderClientId='${this.senderClientId}'` +
`}`;
}
public abstract getQoS(): number;
public abstract isRetained(): boolean;
}