hazelcast-client
Version:
Hazelcast - open source In-Memory Data Grid - client for NodeJS
74 lines • 3.47 kB
JavaScript
var ClientMessage = require('../ClientMessage');
var BitsUtil_1 = require('../BitsUtil');
var AddressCodec_1 = require('./AddressCodec');
var ClientMessageType_1 = require('./ClientMessageType');
var REQUEST_TYPE = ClientMessageType_1.ClientMessageType.CLIENT_AUTHENTICATION;
var RESPONSE_TYPE = 107;
var RETRYABLE = true;
var ClientAuthenticationCodec = (function () {
function ClientAuthenticationCodec() {
}
ClientAuthenticationCodec.calculateSize = function (username, password, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion) {
var dataSize = 0;
dataSize += BitsUtil_1.BitsUtil.calculateSizeString(username);
dataSize += BitsUtil_1.BitsUtil.calculateSizeString(password);
dataSize += BitsUtil_1.BitsUtil.BOOLEAN_SIZE_IN_BYTES;
if (uuid !== null) {
dataSize += BitsUtil_1.BitsUtil.calculateSizeString(uuid);
}
dataSize += BitsUtil_1.BitsUtil.BOOLEAN_SIZE_IN_BYTES;
if (ownerUuid !== null) {
dataSize += BitsUtil_1.BitsUtil.calculateSizeString(ownerUuid);
}
dataSize += BitsUtil_1.BitsUtil.BOOLEAN_SIZE_IN_BYTES;
dataSize += BitsUtil_1.BitsUtil.calculateSizeString(clientType);
dataSize += BitsUtil_1.BitsUtil.BYTE_SIZE_IN_BYTES;
return dataSize;
};
ClientAuthenticationCodec.encodeRequest = function (username, password, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion) {
var clientMessage = ClientMessage.newClientMessage(this.calculateSize(username, password, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion));
clientMessage.setMessageType(REQUEST_TYPE);
clientMessage.setRetryable(RETRYABLE);
clientMessage.appendString(username);
clientMessage.appendString(password);
clientMessage.appendBoolean(uuid === null);
if (uuid !== null) {
clientMessage.appendString(uuid);
}
clientMessage.appendBoolean(ownerUuid === null);
if (ownerUuid !== null) {
clientMessage.appendString(ownerUuid);
}
clientMessage.appendBoolean(isOwnerConnection);
clientMessage.appendString(clientType);
clientMessage.appendByte(serializationVersion);
clientMessage.updateFrameLength();
return clientMessage;
};
ClientAuthenticationCodec.decodeResponse = function (clientMessage, toObjectFunction) {
if (toObjectFunction === void 0) { toObjectFunction = null; }
var parameters = {
'status': null,
'address': null,
'uuid': null,
'ownerUuid': null,
'serializationVersion': null
};
parameters['status'] = clientMessage.readByte();
if (clientMessage.readBoolean() !== true) {
parameters['address'] = AddressCodec_1.AddressCodec.decode(clientMessage, toObjectFunction);
}
if (clientMessage.readBoolean() !== true) {
parameters['uuid'] = clientMessage.readString();
}
if (clientMessage.readBoolean() !== true) {
parameters['ownerUuid'] = clientMessage.readString();
}
parameters['serializationVersion'] = clientMessage.readByte();
return parameters;
};
return ClientAuthenticationCodec;
}());
exports.ClientAuthenticationCodec = ClientAuthenticationCodec;
//# sourceMappingURL=ClientAuthenticationCodec.js.map
;