in content/lib/paho-mqtt.js [1077:1116]
ClientImpl.prototype.store = function(prefix, wireMessage) {
var storedMessage = {type:wireMessage.type, messageIdentifier:wireMessage.messageIdentifier, version:1};
switch(wireMessage.type) {
case MESSAGE_TYPE.PUBLISH:
if(wireMessage.pubRecReceived)
storedMessage.pubRecReceived = true;
// Convert the payload to a hex string.
storedMessage.payloadMessage = {};
var hex = "";
var messageBytes = wireMessage.payloadMessage.payloadBytes;
for (var i=0; i<messageBytes.length; i++) {
if (messageBytes[i] <= 0xF)
hex = hex+"0"+messageBytes[i].toString(16);
else
hex = hex+messageBytes[i].toString(16);
}
storedMessage.payloadMessage.payloadHex = hex;
storedMessage.payloadMessage.qos = wireMessage.payloadMessage.qos;
storedMessage.payloadMessage.destinationName = wireMessage.payloadMessage.destinationName;
if (wireMessage.payloadMessage.duplicate)
storedMessage.payloadMessage.duplicate = true;
if (wireMessage.payloadMessage.retained)
storedMessage.payloadMessage.retained = true;
// Add a sequence number to sent messages.
if ( prefix.indexOf("Sent:") === 0 ) {
if ( wireMessage.sequence === undefined )
wireMessage.sequence = ++this._sequence;
storedMessage.sequence = wireMessage.sequence;
}
break;
default:
throw Error(format(ERROR.INVALID_STORED_DATA, [key, storedMessage]));
}
localStorage.setItem(prefix+this._localKey+wireMessage.messageIdentifier, JSON.stringify(storedMessage));
};