--- /dev/null
+class KeyValue extends Entry{
+ constructor(slot,_key,_value){
+ if(!(slot instanceof Slot && _key instanceof IoTString && _value instanceof IoTString)){
+ throw new Error('Argument error ');
+ }
+ super(slot);
+ this.key = _key;
+ this.value = _value;
+ }
+ getKey(){
+ return this.key;
+ }
+ getValue(){
+ return this.value;
+ }
+ decode(slot,bb){
+ if(!(slot instanceof Slot && bb instanceof ByteBuffer)){
+ throw new Error('Argument error');
+ }
+ var keylength = bb.getByte();
+ var valuelength = bb.getByte();
+ var key = new Uint8Array(keylength);
+ var value = new Uint8Array(valuelength);
+ var keystring = '';
+ for(var i =0 ;i<keylength ; i++){
+ keystring += bb.readByte();
+ }
+ var valuestring= '';
+ for(var j =0 ;j<keylength ; j++){
+ valuestring += bb.readByte();
+ }
+ for(var k = 0; k< keystring.length; k++){
+ key[k] = keystring.charCodeAt(k);
+ }
+ for(var l = 0; l< valuestring.length; l++){
+ value[l] = valuestring.charCodeAt(l);
+ }
+ return new KeyValue(slot,IoTString.shallow(key),IoTString.shallow(value));
+ }
+
+ encode(bb){
+ if(!(bb instanceof ByteBuffer)){
+ throw new Error('argument error');
+ }
+ bb.writeByte(Entry.TypeKeyValue);
+ bb.writeByte(this.key.length());
+ bb.writeByte(this.value.length());
+ bb.concat(this.key.internalBytes());
+ bb.concat(this.value.internalBytes());
+ }
+ getSize(){
+ return 2*4+this.jey.length()+this.value.length()+1;
+ }
+
+ getType(){
+ return Entry.TypeKeyValue;
+ }
+
+ toString(){
+ return this.value.toString();
+ }
+ getCopy(s){
+ return new KeyValue(s,this.key,this.value);
+ }
+}
if(!(slot instanceof Slot && bb instanceof ByteBuffer)){
throw new Error('Problem with the Arguments');
}
- var machineid = bb.readByte();
- var seqnum = bb.readByte();
+ var machineid = bb.readInt64();
+ var seqnum = bb.readInt64();
return new LastMessage(slot,machineid,seqnum);
}
encode(bb){
bb.writeByte(Entry.TypeLastMessage);
- bb.writeByte(this.machineid);
- bb.writeByte(this.seqnum);
+ bb.writeInt64(this.machineid);
+ bb.writeInt64(this.seqnum);
}
getSize(){
return 2*(1+1);
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var IoTString = function () {
- function IoTString(arg) {
- _classCallCheck(this, IoTString);
-
- if (arg === undefined) {
- this.array = new Uint8Array();
- this.hashcode;
- } else if (arg && typeof arg === "string") {
- this.array = new Uint8Array(arg.length);
- for (var i = 0; i < arg.length; ++i) {
- this.array[i] = arg.charCodeAt(i);
- }
- this.hashcode = hash(this.array);
- } else if (arg && arg instanceof Uint8Array) {
- this.array = arg;
- this.hashcode = hashcode(arg);
+var _createClass = function() {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
}
- }
+ return function(Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+}();
- _createClass(IoTString, [{
- key: "shallow",
- value: function shallow(arg) {
- if (arg && arg instanceof Uint8Array) {
- var i = new IotString(arg);
- return i;
- }
- }
- }, {
- key: "internalBytes",
- value: function internalBytes() {
- return this.array;
- }
- }, {
- key: "hashCode",
- value: function hashCode() {
- return this.hashcode;
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
}
- }, {
- key: "toString",
- value: function toString() {
- return this.array.toString();
+}
+var IoTString = function() {
+ function IoTString(arg) {
+ _classCallCheck(this, IoTString);
+ if (arg === undefined) {
+ this.array = new Uint8Array();
+ this.hashcode = '';
+ } else if (arg && typeof arg === "string") {
+ this.array = new Uint8Array(arg.length);
+ for (var i = 0; i < arg.length; ++i) {
+ this.array[i] = arg.charCodeAt(i);
+ }
+ this.hashcode = hash(this.array);
+ } else if (arg && arg instanceof Uint8Array) {
+ this.array = arg;
+ this.hashcode = hashcode(arg);
+ }
}
- }, {
- key: "getBytes",
- value: function getBytes() {
- var obj;
- return _.extend(obj, this.array);
- }
- }, {
- key: "equals",
- value: function equals(arr) {
- return _.isEqual(arr, this.array);
- }
- }, {
- key: "length",
- value: function length() {
- return this.array.length;
- }
- }]);
-
- return IoTString;
+ _createClass(IoTString, [{
+ key: "shallow",
+ value: function shallow(arg) {
+ if (arg && arg instanceof Uint8Array) {
+ var i = new IotString(arg);
+ return i;
+ }
+ }
+ }, {
+ key: "internalBytes",
+ value: function internalBytes() {
+ return this.array;
+ }
+ }, {
+ key: "hashCode",
+ value: function hashCode() {
+ return this.hashcode;
+ }
+ }, {
+ key: "toString",
+ value: function toString() {
+ return this.array.toString();
+ }
+ }, {
+ key: "getBytes",
+ value: function getBytes() {
+ var obj;
+ return _.extend(obj, this.array);
+ }
+ }, {
+ key: "equals",
+ value: function equals(arr) {
+ return _.isEqual(arr, this.array);
+ }
+ }, {
+ key: "length",
+ value: function length() {
+ return this.array.length;
+ }
+ }]);
+ return IoTString;
}();
\ No newline at end of file
--- /dev/null
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+var KeyValue = function (_Entry) {
+ _inherits(KeyValue, _Entry);
+
+ function KeyValue(slot, _key, _value) {
+ _classCallCheck(this, KeyValue);
+
+ if (!(slot instanceof Slot && _key instanceof IoTString && _value instanceof IoTString)) {
+ throw new Error('Argument error ');
+ }
+
+ var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(KeyValue).call(this, slot));
+
+ _this.key = _key;
+ _this.value = _value;
+ return _this;
+ }
+
+ _createClass(KeyValue, [{
+ key: 'getKey',
+ value: function getKey() {
+ return this.key;
+ }
+ }, {
+ key: 'getValue',
+ value: function getValue() {
+ return this.value;
+ }
+ }, {
+ key: 'decode',
+ value: function decode(slot, bb) {
+ if (!(slot instanceof Slot && bb instanceof ByteBuffer)) {
+ throw new Error('Argument error');
+ }
+ var keylength = bb.getByte();
+ var valuelength = bb.getByte();
+ var key = new Uint8Array(keylength);
+ var value = new Uint8Array(valuelength);
+ var keystring = '';
+ for (var i = 0; i < keylength; i++) {
+ keystring += bb.readByte();
+ }
+ var valuestring = '';
+ for (var j = 0; j < keylength; j++) {
+ valuestring += bb.readByte();
+ }
+ for (var k = 0; k < keystring.length; k++) {
+ key[k] = keystring.charCodeAt(k);
+ }
+ for (var l = 0; l < valuestring.length; l++) {
+ value[l] = valuestring.charCodeAt(l);
+ }
+ return new KeyValue(slot, IoTString.shallow(key), IoTString.shallow(value));
+ }
+ }, {
+ key: 'encode',
+ value: function encode(bb) {
+ if (!(bb instanceof ByteBuffer)) {
+ throw new Error('argument error');
+ }
+ bb.writeByte(Entry.TypeKeyValue);
+ bb.writeByte(this.key.length());
+ bb.writeByte(this.value.length());
+ bb.concat(this.key.internalBytes());
+ bb.concat(this.value.internalBytes());
+ }
+ }, {
+ key: 'getSize',
+ value: function getSize() {
+ return 2 * 4 + this.jey.length() + this.value.length() + 1;
+ }
+ }, {
+ key: 'getType',
+ value: function getType() {
+ return Entry.TypeKeyValue;
+ }
+ }, {
+ key: 'toString',
+ value: function toString() {
+ return this.value.toString();
+ }
+ }, {
+ key: 'getCopy',
+ value: function getCopy(s) {
+ return new KeyValue(s, this.key, this.value);
+ }
+ }]);
+
+ return KeyValue;
+}(Entry);
\ No newline at end of file