Keyvalue.js
authorjoelbandi <joelvivekbandi@gmail.com>
Wed, 3 Aug 2016 00:07:38 +0000 (17:07 -0700)
committerjoelbandi <joelvivekbandi@gmail.com>
Wed, 3 Aug 2016 00:07:38 +0000 (17:07 -0700)
src/js/iotjs/orig/keyvalue.js [new file with mode: 0644]
src/js/iotjs/orig/lastmessage.js
src/js/iotjs/src/iotstring.js
src/js/iotjs/src/keyvalue.js [new file with mode: 0644]

diff --git a/src/js/iotjs/orig/keyvalue.js b/src/js/iotjs/orig/keyvalue.js
new file mode 100644 (file)
index 0000000..375b29d
--- /dev/null
@@ -0,0 +1,65 @@
+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);
+       }
+}
index c1f3de087664516bca537ba3623bac52ad3e52f1..496862f24f2bb41e3ce13eb5c436e1d8fc76dd31 100644 (file)
@@ -15,14 +15,14 @@ class LastMessage extends Entry{
                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);
index 05f35dc9bb88a33c4f057aa10698035e4efc1230..5a350e8a6bbe436ce38b4efe7c18b4732ef7a42c 100644 (file)
@@ -1,66 +1,81 @@
-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
diff --git a/src/js/iotjs/src/keyvalue.js b/src/js/iotjs/src/keyvalue.js
new file mode 100644 (file)
index 0000000..a2c02d0
--- /dev/null
@@ -0,0 +1,99 @@
+'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