hazelcast-client
Version:
Hazelcast - open source In-Memory Data Grid - client for NodeJS
72 lines • 3.39 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_AUTHENTICATIONCUSTOM;
var RESPONSE_TYPE = 107;
var RETRYABLE = true;
var ClientAuthenticationCustomCodec = (function () {
function ClientAuthenticationCustomCodec() {
}
ClientAuthenticationCustomCodec.calculateSize = function (credentials, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion) {
var dataSize = 0;
dataSize += BitsUtil_1.BitsUtil.calculateSizeData(credentials);
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;
};
ClientAuthenticationCustomCodec.encodeRequest = function (credentials, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion) {
var clientMessage = ClientMessage.newClientMessage(this.calculateSize(credentials, uuid, ownerUuid, isOwnerConnection, clientType, serializationVersion));
clientMessage.setMessageType(REQUEST_TYPE);
clientMessage.setRetryable(RETRYABLE);
clientMessage.appendData(credentials);
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;
};
ClientAuthenticationCustomCodec.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 ClientAuthenticationCustomCodec;
}());
exports.ClientAuthenticationCustomCodec = ClientAuthenticationCustomCodec;
//# sourceMappingURL=ClientAuthenticationCustomCodec.js.map
;