diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/copy_file.ts | 4 | ||||
-rw-r--r-- | js/dir.ts | 6 | ||||
-rw-r--r-- | js/dispatch.ts | 7 | ||||
-rw-r--r-- | js/fetch.ts | 4 | ||||
-rw-r--r-- | js/files.ts | 10 | ||||
-rw-r--r-- | js/flatbuffers.ts | 55 | ||||
-rw-r--r-- | js/main.ts | 4 | ||||
-rw-r--r-- | js/make_temp_dir.ts | 4 | ||||
-rw-r--r-- | js/metrics.ts | 4 | ||||
-rw-r--r-- | js/mkdir.ts | 4 | ||||
-rw-r--r-- | js/net.ts | 10 | ||||
-rw-r--r-- | js/os.ts | 12 | ||||
-rw-r--r-- | js/read_dir.ts | 4 | ||||
-rw-r--r-- | js/read_file.ts | 4 | ||||
-rw-r--r-- | js/read_link.ts | 4 | ||||
-rw-r--r-- | js/remove.ts | 4 | ||||
-rw-r--r-- | js/rename.ts | 4 | ||||
-rw-r--r-- | js/stat.ts | 4 | ||||
-rw-r--r-- | js/symlink.ts | 4 | ||||
-rw-r--r-- | js/timers.ts | 4 | ||||
-rw-r--r-- | js/truncate.ts | 4 | ||||
-rw-r--r-- | js/write_file.ts | 4 |
22 files changed, 110 insertions, 54 deletions
diff --git a/js/copy_file.ts b/js/copy_file.ts index 79d74e034..255d977bf 100644 --- a/js/copy_file.ts +++ b/js/copy_file.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Copies the contents of a file to another by name synchronously. @@ -36,7 +36,7 @@ function req( from: string, to: string ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const from_ = builder.createString(from); const to_ = builder.createString(to); msg.CopyFile.startCopyFile(builder); @@ -1,7 +1,7 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; import { assert } from "./util"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { sendSync } from "./dispatch"; /** @@ -12,7 +12,7 @@ import { sendSync } from "./dispatch"; * throws NotFound exception if directory not available */ export function cwd(): string { - const builder = new flatbuffers.Builder(0); + const builder = flatbuffers.createBuilder(); msg.Cwd.startCwd(builder); const inner = msg.Cwd.endCwd(builder); const baseRes = sendSync(builder, msg.Any.Cwd, inner); @@ -28,7 +28,7 @@ export function cwd(): string { * throws NotFound exception if directory not available */ export function chdir(directory: string): void { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const directory_ = builder.createString(directory); msg.Chdir.startChdir(builder); msg.Chdir.addDirectory(builder, directory_); diff --git a/js/dispatch.ts b/js/dispatch.ts index 1a8b4d2e0..d416264bd 100644 --- a/js/dispatch.ts +++ b/js/dispatch.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import { libdeno } from "./libdeno"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as msg from "gen/msg_generated"; import * as errors from "./errors"; import * as util from "./util"; @@ -86,6 +86,7 @@ function sendInternal( msg.Base.addSync(builder, sync); msg.Base.addCmdId(builder, cmdId); builder.finish(msg.Base.endBase(builder)); - - return [cmdId, libdeno.send(builder.asUint8Array(), data)]; + const res = libdeno.send(builder.asUint8Array(), data); + builder.inUse = false; + return [cmdId, res]; } diff --git a/js/fetch.ts b/js/fetch.ts index e8f563e66..ae62c576d 100644 --- a/js/fetch.ts +++ b/js/fetch.ts @@ -7,7 +7,7 @@ import { typedArrayToArrayBuffer, notImplemented } from "./util"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { sendAsync } from "./dispatch"; import * as msg from "gen/msg_generated"; import * as domTypes from "./dom_types"; @@ -187,7 +187,7 @@ export async function fetch( log("dispatch FETCH_REQ", url); // Send FetchReq message - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const url_ = builder.createString(url); msg.FetchReq.startFetchReq(builder); msg.FetchReq.addUrl(builder, url_); diff --git a/js/files.ts b/js/files.ts index ae36c7a82..33918302c 100644 --- a/js/files.ts +++ b/js/files.ts @@ -4,7 +4,7 @@ import { Reader, Writer, Closer, ReadResult } from "./io"; import * as dispatch from "./dispatch"; import * as msg from "gen/msg_generated"; import { assert } from "./util"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; /** The Deno abstraction for reading and writing files. */ export class File implements Reader, Writer, Closer { @@ -51,7 +51,7 @@ export async function open( filename: string, mode: OpenMode = "r" ): Promise<File> { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const filename_ = builder.createString(filename); msg.Open.startOpen(builder); msg.Open.addFilename(builder, filename_); @@ -73,7 +73,7 @@ export async function read( rid: number, p: ArrayBufferView ): Promise<ReadResult> { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Read.startRead(builder); msg.Read.addRid(builder, rid); const inner = msg.Read.endRead(builder); @@ -90,7 +90,7 @@ export async function read( * Resolves with the number of bytes written. */ export async function write(rid: number, p: ArrayBufferView): Promise<number> { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Write.startWrite(builder); msg.Write.addRid(builder, rid); const inner = msg.Write.endWrite(builder); @@ -104,7 +104,7 @@ export async function write(rid: number, p: ArrayBufferView): Promise<number> { /** Close the file ID. */ export function close(rid: number): void { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Close.startClose(builder); msg.Close.addRid(builder, rid); const inner = msg.Close.endClose(builder); diff --git a/js/flatbuffers.ts b/js/flatbuffers.ts new file mode 100644 index 000000000..1ceb87951 --- /dev/null +++ b/js/flatbuffers.ts @@ -0,0 +1,55 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. + +import { flatbuffers } from "flatbuffers"; +import * as util from "./util"; + +// Re-export some types. +export type Offset = flatbuffers.Offset; +export class ByteBuffer extends flatbuffers.ByteBuffer {} +export interface Builder extends flatbuffers.Builder { + inUse: boolean; +} + +const globalBuilder = new flatbuffers.Builder() as Builder; +globalBuilder.inUse = false; + +// This is a wrapper around the real Builder . +// The purpose is to reuse a single ArrayBuffer for every message. +// We can do this because the "control" messages sent to the privileged +// side are guarenteed to be used during the call to libdeno.send(). +export function createBuilder(): Builder { + // tslint:disable-next-line:no-any + const gb = globalBuilder as any; + util.assert(!gb.inUse); + + let bb = globalBuilder.dataBuffer(); + // Only create a new backing ArrayBuffer if the previous one had grown very + // large in capacity. This should only happen rarely. + if (bb.capacity() > 1024) { + util.log(`realloc flatbuffer ArrayBuffer because it was ${bb.capacity()}`); + bb = ByteBuffer.allocate(1024); + } + gb.bb = bb; + // Remaining space in the ByteBuffer. + gb.space = globalBuilder.dataBuffer().capacity(); + // Minimum alignment encountered so far. + gb.minalign = 1; + // The vtable for the current table. + gb.vtable = null; + // The amount of fields we're actually using. + gb.vtable_in_use = 0; + // Whether we are currently serializing a table. + gb.isNested = false; + // Starting offset of the current struct/table. + gb.object_start = 0; + // List of offsets of all vtables. + gb.vtables = []; + // For the current vector being built. + gb.vector_num_elems = 0; + // False omits default values from the serialized data + gb.force_defaults = false; + + gb.inUse = true; + + return gb as Builder; +} diff --git a/js/main.ts b/js/main.ts index 70819a576..892a65044 100644 --- a/js/main.ts +++ b/js/main.ts @@ -1,5 +1,5 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as msg from "gen/msg_generated"; import { assert, log, setLogDebug } from "./util"; import * as os from "./os"; @@ -11,7 +11,7 @@ import { promiseErrorExaminer, promiseRejectHandler } from "./promise_util"; import { version } from "typescript"; function sendStart(): msg.StartRes { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Start.startStart(builder); const startOffset = msg.Start.endStart(builder); const baseRes = sendSync(builder, msg.Any.Start, startOffset); diff --git a/js/make_temp_dir.ts b/js/make_temp_dir.ts index 0f3d93e2f..02c4be3ca 100644 --- a/js/make_temp_dir.ts +++ b/js/make_temp_dir.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; import { assert } from "./util"; @@ -43,7 +43,7 @@ function req({ prefix, suffix }: MakeTempDirOptions): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const fbDir = dir == null ? -1 : builder.createString(dir); const fbPrefix = prefix == null ? -1 : builder.createString(prefix); const fbSuffix = suffix == null ? -1 : builder.createString(suffix); diff --git a/js/metrics.ts b/js/metrics.ts index dd77863d9..bacef8d5c 100644 --- a/js/metrics.ts +++ b/js/metrics.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { assert } from "./util"; import * as dispatch from "./dispatch"; @@ -18,7 +18,7 @@ export function metrics(): Metrics { } function req(): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Metrics.startMetrics(builder); const inner = msg.Metrics.endMetrics(builder); return [builder, msg.Any.Metrics, inner]; diff --git a/js/mkdir.ts b/js/mkdir.ts index 46578b058..8040bd51b 100644 --- a/js/mkdir.ts +++ b/js/mkdir.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Creates a new directory with the specified path and permission @@ -26,7 +26,7 @@ function req( path: string, mode: number ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const path_ = builder.createString(path); msg.Mkdir.startMkdir(builder); msg.Mkdir.addPath(builder, path_); @@ -4,7 +4,7 @@ import { ReadResult, Reader, Writer, Closer } from "./io"; import * as msg from "gen/msg_generated"; import { assert, notImplemented } from "./util"; import * as dispatch from "./dispatch"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { read, write, close } from "./files"; export type Network = "tcp"; @@ -32,7 +32,7 @@ class ListenerImpl implements Listener { constructor(readonly rid: number) {} async accept(): Promise<Conn> { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Accept.startAccept(builder); msg.Accept.addRid(builder, this.rid); const inner = msg.Accept.endAccept(builder); @@ -111,7 +111,7 @@ enum ShutdownMode { } function shutdown(rid: number, how: ShutdownMode) { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Shutdown.startShutdown(builder); msg.Shutdown.addRid(builder, rid); msg.Shutdown.addHow(builder, how); @@ -136,7 +136,7 @@ function shutdown(rid: number, how: ShutdownMode) { * See `dial()` for a description of the network and address parameters. */ export function listen(network: Network, address: string): Listener { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const network_ = builder.createString(network); const address_ = builder.createString(address); msg.Listen.startListen(builder); @@ -179,7 +179,7 @@ export function listen(network: Network, address: string): Listener { * dial("tcp", ":80") */ export async function dial(network: Network, address: string): Promise<Conn> { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const network_ = builder.createString(network); const address_ = builder.createString(address); msg.Dial.startDial(builder); @@ -3,12 +3,12 @@ import { ModuleInfo } from "./types"; import * as msg from "gen/msg_generated"; import { assert } from "./util"; import * as util from "./util"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { sendSync } from "./dispatch"; /** Exit the Deno process with optional exit code. */ export function exit(exitCode = 0): never { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Exit.startExit(builder); msg.Exit.addCode(builder, exitCode); const inner = msg.Exit.endExit(builder); @@ -23,7 +23,7 @@ export function codeFetch( ): ModuleInfo { util.log("os.ts codeFetch", moduleSpecifier, containingFile); // Send CodeFetch message - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const moduleSpecifier_ = builder.createString(moduleSpecifier); const containingFile_ = builder.createString(containingFile); msg.CodeFetch.startCodeFetch(builder); @@ -53,7 +53,7 @@ export function codeCache( outputCode: string ): void { util.log("os.ts codeCache", filename, sourceCode, outputCode); - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const filename_ = builder.createString(filename); const sourceCode_ = builder.createString(sourceCode); const outputCode_ = builder.createString(outputCode); @@ -84,7 +84,7 @@ function createEnv(_inner: msg.EnvironRes): { [index: string]: string } { } function setEnv(key: string, value: string): void { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const _key = builder.createString(key); const _value = builder.createString(value); msg.SetEnv.startSetEnv(builder); @@ -113,7 +113,7 @@ export function env(): { [index: string]: string } { command: msg.Command.ENV, }); */ - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.Environ.startEnviron(builder); const inner = msg.Environ.endEnviron(builder); const baseRes = sendSync(builder, msg.Any.Environ, inner)!; diff --git a/js/read_dir.ts b/js/read_dir.ts index 6be89d6b5..efeea4268 100644 --- a/js/read_dir.ts +++ b/js/read_dir.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; import { FileInfo, FileInfoImpl } from "./file_info"; import { assert } from "./util"; @@ -25,7 +25,7 @@ export async function readDir(path: string): Promise<FileInfo[]> { } function req(path: string): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const path_ = builder.createString(path); msg.ReadDir.startReadDir(builder); msg.ReadDir.addPath(builder, path_); diff --git a/js/read_file.ts b/js/read_file.ts index 52495f427..5d766f709 100644 --- a/js/read_file.ts +++ b/js/read_file.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { assert } from "./util"; import * as dispatch from "./dispatch"; @@ -29,7 +29,7 @@ export async function readFile(filename: string): Promise<Uint8Array> { function req( filename: string ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const filename_ = builder.createString(filename); msg.ReadFile.startReadFile(builder); msg.ReadFile.addFilename(builder, filename_); diff --git a/js/read_link.ts b/js/read_link.ts index 4a5563034..800c452e3 100644 --- a/js/read_link.ts +++ b/js/read_link.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { assert } from "./util"; import * as dispatch from "./dispatch"; @@ -23,7 +23,7 @@ export async function readlink(name: string): Promise<string> { } function req(name: string): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const name_ = builder.createString(name); msg.Readlink.startReadlink(builder); msg.Readlink.addName(builder, name_); diff --git a/js/remove.ts b/js/remove.ts index 1195f3a30..6b242e2c6 100644 --- a/js/remove.ts +++ b/js/remove.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Removes the named file or (empty) directory synchronously. Would throw @@ -47,7 +47,7 @@ function req( path: string, recursive: boolean ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const path_ = builder.createString(path); msg.Remove.startRemove(builder); msg.Remove.addPath(builder, path_); diff --git a/js/rename.ts b/js/rename.ts index 153ed720a..049212c75 100644 --- a/js/rename.ts +++ b/js/rename.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Synchronously renames (moves) `oldpath` to `newpath`. If `newpath` already @@ -30,7 +30,7 @@ function req( oldpath: string, newpath: string ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const oldpath_ = builder.createString(oldpath); const newpath_ = builder.createString(newpath); msg.Rename.startRename(builder); diff --git a/js/stat.ts b/js/stat.ts index becab52ee..632609e9b 100644 --- a/js/stat.ts +++ b/js/stat.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; import { assert } from "./util"; import { FileInfo, FileInfoImpl } from "./file_info"; @@ -54,7 +54,7 @@ function req( filename: string, lstat: boolean ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const filename_ = builder.createString(filename); msg.Stat.startStat(builder); msg.Stat.addFilename(builder, filename_); diff --git a/js/symlink.ts b/js/symlink.ts index 0e633f138..be5a41af8 100644 --- a/js/symlink.ts +++ b/js/symlink.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; import * as util from "./util"; @@ -43,7 +43,7 @@ function req( if (type) { return util.notImplemented(); } - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const oldname_ = builder.createString(oldname); const newname_ = builder.createString(newname); msg.Symlink.startSymlink(builder); diff --git a/js/timers.ts b/js/timers.ts index 58367c1ea..292f1c613 100644 --- a/js/timers.ts +++ b/js/timers.ts @@ -1,7 +1,7 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import { assert } from "./util"; import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import { sendSync, setFireTimersCallback } from "./dispatch"; // Tell the dispatcher which function it should call to fire timers that are @@ -51,7 +51,7 @@ function setGlobalTimeout(due: number | null, now: number) { assert(timeout >= 0); } // Send message to the backend. - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); msg.SetTimeout.startSetTimeout(builder); msg.SetTimeout.addTimeout(builder, timeout); const inner = msg.SetTimeout.endSetTimeout(builder); diff --git a/js/truncate.ts b/js/truncate.ts index c26eb8a74..1bd5a2c08 100644 --- a/js/truncate.ts +++ b/js/truncate.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Truncates or extends the specified file synchronously, updating the size of @@ -30,7 +30,7 @@ function req( name: string, len?: number ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const name_ = builder.createString(name); len = len && len > 0 ? Math.floor(len) : 0; msg.Truncate.startTruncate(builder); diff --git a/js/write_file.ts b/js/write_file.ts index 103b7315a..98d5d0181 100644 --- a/js/write_file.ts +++ b/js/write_file.ts @@ -1,6 +1,6 @@ // Copyright 2018 the Deno authors. All rights reserved. MIT license. import * as msg from "gen/msg_generated"; -import { flatbuffers } from "flatbuffers"; +import * as flatbuffers from "./flatbuffers"; import * as dispatch from "./dispatch"; /** Write a new file, with given filename and data synchronously. @@ -40,7 +40,7 @@ function req( data: Uint8Array, perm: number ): [flatbuffers.Builder, msg.Any, flatbuffers.Offset, Uint8Array] { - const builder = new flatbuffers.Builder(); + const builder = flatbuffers.createBuilder(); const filename_ = builder.createString(filename); msg.WriteFile.startWriteFile(builder); msg.WriteFile.addFilename(builder, filename_); |