update AS

This commit is contained in:
DieMyst 2019-08-12 19:29:06 +03:00
parent 8cc66eb911
commit 10053580fb
4 changed files with 35 additions and 36 deletions

View File

@ -11,7 +11,7 @@ export function readRequestBytes(ptr: i32, size: i32): Uint8Array {
bb[i] = load<u8>(ptr + i) bb[i] = load<u8>(ptr + i)
} }
memory.free(changetype<usize>(ptr)); __free(changetype<usize>(ptr));
return bb; return bb;
} }
@ -22,9 +22,8 @@ export function readRequestBytes(ptr: i32, size: i32): Uint8Array {
*/ */
export function readRequestString(ptr: i32, size: i32): string { export function readRequestString(ptr: i32, size: i32): string {
let bb = readRequestBytes(ptr, size); let bb = readRequestBytes(ptr, size);
let request = String.fromUTF8(bb.buffer.data, bb.length); let request = String.UTF8.decode(bb.buffer);
memory.free(changetype<usize>(bb.buffer)); __free(changetype<usize>(bb));
memory.free(changetype<usize>(bb));
return request return request
} }
@ -42,7 +41,7 @@ export function readRequestString(ptr: i32, size: i32): string {
*/ */
export function writeResponseBytes(response: Uint8Array): i32 { export function writeResponseBytes(response: Uint8Array): i32 {
let len: i32 = response.length; let len: i32 = response.length;
let addr = memory.allocate(len + RESPONSE_SIZE_BYTES); let addr = __alloc(len + RESPONSE_SIZE_BYTES, 1);
for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) { for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) {
let b: u8 = (len >> i * 8) as u8 & 0xFF; let b: u8 = (len >> i * 8) as u8 & 0xFF;
store<u8>(addr + i, b); store<u8>(addr + i, b);
@ -54,8 +53,8 @@ export function writeResponseBytes(response: Uint8Array): i32 {
store<u8>(responseAddr + i, b); store<u8>(responseAddr + i, b);
} }
memory.free(changetype<usize>(response.buffer)); __free(changetype<usize>(response.buffer));
memory.free(changetype<usize>(response)); __free(changetype<usize>(response));
return addr; return addr;
} }
@ -66,7 +65,7 @@ export function writeResponseBytes(response: Uint8Array): i32 {
*/ */
export function writeResponseString(response: string): i32 { export function writeResponseString(response: string): i32 {
let strLen: i32 = response.length; let strLen: i32 = response.length;
let addr = memory.allocate(strLen + RESPONSE_SIZE_BYTES); let addr = __alloc(strLen + RESPONSE_SIZE_BYTES, 1);
for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) { for (let i = 0; i < RESPONSE_SIZE_BYTES; i++) {
let b: u8 = (strLen >> i * 8) as u8 & 0xFF; let b: u8 = (strLen >> i * 8) as u8 & 0xFF;
store<u8>(addr + i, b); store<u8>(addr + i, b);
@ -92,9 +91,9 @@ export function stringHandler(ptr: i32, size: i32, handler: (request: string) =>
let response = handler(strRequest); let response = handler(strRequest);
let responseAddr = writeResponseString(response); let responseAddr = writeResponseString(response);
memory.free(ptr); __free(ptr);
memory.free(changetype<usize>(strRequest)); __free(changetype<usize>(strRequest));
memory.free(changetype<usize>(response)); __free(changetype<usize>(response));
return responseAddr; return responseAddr;
} }
@ -111,12 +110,12 @@ export function loggedStringHandler(ptr: i32, size: i32, handler: (request: stri
let response = handler(strRequest); let response = handler(strRequest);
let responseAddr = writeResponseString(response); let responseAddr = writeResponseString(response);
memory.free(ptr); __free(ptr);
memory.free(changetype<usize>(strRequest)); __free(changetype<usize>(strRequest));
log("Response: " + response); log("Response: " + response);
memory.free(changetype<usize>(response)); __free(changetype<usize>(response));
return responseAddr; return responseAddr;
} }
@ -132,8 +131,8 @@ export function bytesHandler(ptr: i32, size: i32, handler: (request: Uint8Array)
let response = handler(bytesRequest); let response = handler(bytesRequest);
let responseAddr = writeResponseBytes(response); let responseAddr = writeResponseBytes(response);
memory.free(ptr); __free(ptr);
memory.free(changetype<usize>(bytesRequest)); __free(changetype<usize>(bytesRequest));
return responseAddr; return responseAddr;
} }

View File

@ -9,7 +9,7 @@ export function log(message: string): void {
let b: u8 = messageStr.charCodeAt(i) as u8; let b: u8 = messageStr.charCodeAt(i) as u8;
write(b); write(b);
} }
memory.free(changetype<usize>(message)); __free(changetype<usize>(message));
memory.free(changetype<usize>(messageStr)); __free(changetype<usize>(messageStr));
flush(); flush();
} }

34
package-lock.json generated
View File

@ -11,16 +11,16 @@
"dev": true "dev": true
}, },
"assemblyscript": { "assemblyscript": {
"version": "github:AssemblyScript/assemblyscript#36040d5b5312f19a025782b5e36663823494c2f3", "version": "github:assemblyscript/assemblyscript#25b92769119389c581977da12b5147d1449043db",
"from": "github:AssemblyScript/assemblyscript", "from": "github:assemblyscript/assemblyscript",
"dev": true, "dev": true,
"requires": { "requires": {
"@protobufjs/utf8": "^1.1.0", "@protobufjs/utf8": "^1.1.0",
"binaryen": "77.0.0-nightly.20190407", "binaryen": "87.0.0-nightly.20190716",
"glob": "^7.1.3", "glob": "^7.1.4",
"long": "^4.0.0", "long": "^4.0.0",
"opencollective-postinstall": "^2.0.0", "opencollective-postinstall": "^2.0.0",
"source-map-support": "^0.5.11" "source-map-support": "^0.5.12"
} }
}, },
"balanced-match": { "balanced-match": {
@ -30,9 +30,9 @@
"dev": true "dev": true
}, },
"binaryen": { "binaryen": {
"version": "77.0.0-nightly.20190407", "version": "87.0.0-nightly.20190716",
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-77.0.0-nightly.20190407.tgz", "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-87.0.0-nightly.20190716.tgz",
"integrity": "sha512-1mxYNvQ0xywMe582K7V6Vo2zzhZZxMTeGHH8aE/+/AND8f64D8Q1GThVY3RVRwGY/4p+p95ccw9Xbw2ovFXRIg==", "integrity": "sha512-qRGfV8cLV4HVVo1oUCtTaDmOhbwctaW7vyW0G6HKftywWOJI9t9IsCrUEFKya50RqyEnanuS2w3nfOg4bxTGqg==",
"dev": true "dev": true
}, },
"brace-expansion": { "brace-expansion": {
@ -64,9 +64,9 @@
"dev": true "dev": true
}, },
"glob": { "glob": {
"version": "7.1.3", "version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"dev": true, "dev": true,
"requires": { "requires": {
"fs.realpath": "^1.0.0", "fs.realpath": "^1.0.0",
@ -88,9 +88,9 @@
} }
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true "dev": true
}, },
"long": { "long": {
@ -136,9 +136,9 @@
"dev": true "dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.5.12", "version": "0.5.13",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
"integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
"dev": true, "dev": true,
"requires": { "requires": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",

View File

@ -21,6 +21,6 @@
}, },
"homepage": "https://github.com/fluencelabs/assemblyscript-sdk#readme", "homepage": "https://github.com/fluencelabs/assemblyscript-sdk#readme",
"devDependencies": { "devDependencies": {
"assemblyscript": "github:AssemblyScript/assemblyscript" "assemblyscript": "assemblyscript/assemblyscript"
} }
} }