1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00

fbs_util.ts -> dispatch.ts

And send() -> sendSync()
This commit is contained in:
Ryan Dahl 2018-09-09 18:54:42 -04:00
parent e2a285b871
commit 3afc0b8482
8 changed files with 28 additions and 31 deletions

View file

@ -190,8 +190,8 @@ run_node("gen_declarations") {
"js/compiler.ts", "js/compiler.ts",
"js/console.ts", "js/console.ts",
"js/deno.ts", "js/deno.ts",
"js/dispatch.ts",
"js/errors.ts", "js/errors.ts",
"js/fbs_util.ts",
"js/fetch.ts", "js/fetch.ts",
"js/global-eval.ts", "js/global-eval.ts",
"js/globals.ts", "js/globals.ts",
@ -226,8 +226,8 @@ run_node("bundle") {
"js/assets.ts", "js/assets.ts",
"js/compiler.ts", "js/compiler.ts",
"js/console.ts", "js/console.ts",
"js/dispatch.ts",
"js/errors.ts", "js/errors.ts",
"js/fbs_util.ts",
"js/fetch.ts", "js/fetch.ts",
"js/fetch_types.d.ts", "js/fetch_types.d.ts",
"js/globals.ts", "js/globals.ts",

View file

@ -1,5 +1,4 @@
// Copyright 2018 the Deno authors. All rights reserved. MIT license. // Copyright 2018 the Deno authors. All rights reserved. MIT license.
// TODO Rename this file to //js/dispatch.ts
import { libdeno } from "./libdeno"; import { libdeno } from "./libdeno";
import { flatbuffers } from "flatbuffers"; import { flatbuffers } from "flatbuffers";
import * as fbs from "gen/msg_generated"; import * as fbs from "gen/msg_generated";
@ -12,7 +11,6 @@ const promiseTable = new Map<number, util.Resolvable<fbs.Base>>();
export function handleAsyncMsgFromRust(ui8: Uint8Array) { export function handleAsyncMsgFromRust(ui8: Uint8Array) {
const bb = new flatbuffers.ByteBuffer(ui8); const bb = new flatbuffers.ByteBuffer(ui8);
const base = fbs.Base.getRootAsBase(bb); const base = fbs.Base.getRootAsBase(bb);
const cmdId = base.cmdId(); const cmdId = base.cmdId();
const promise = promiseTable.get(cmdId); const promise = promiseTable.get(cmdId);
util.assert(promise != null, `Expecting promise in table. ${cmdId}`); util.assert(promise != null, `Expecting promise in table. ${cmdId}`);
@ -38,9 +36,8 @@ export function sendAsync(
return promise; return promise;
} }
// TODO Rename to sendSync
// @internal // @internal
export function send( export function sendSync(
builder: flatbuffers.Builder, builder: flatbuffers.Builder,
msgType: fbs.Any, msgType: fbs.Any,
msg: flatbuffers.Offset msg: flatbuffers.Offset

View file

@ -8,7 +8,7 @@ import {
notImplemented notImplemented
} from "./util"; } from "./util";
import { flatbuffers } from "flatbuffers"; import { flatbuffers } from "flatbuffers";
import { sendAsync } from "./fbs_util"; import { sendAsync } from "./dispatch";
import * as fbs from "gen/msg_generated"; import * as fbs from "gen/msg_generated";
import { import {
Headers, Headers,

View file

@ -6,13 +6,13 @@ import * as os from "./os";
import { DenoCompiler } from "./compiler"; import { DenoCompiler } from "./compiler";
import { libdeno } from "./libdeno"; import { libdeno } from "./libdeno";
import { argv } from "./deno"; import { argv } from "./deno";
import { send, handleAsyncMsgFromRust } from "./fbs_util"; import { sendSync, handleAsyncMsgFromRust } from "./dispatch";
function sendStart(): fbs.StartRes { function sendStart(): fbs.StartRes {
const builder = new flatbuffers.Builder(); const builder = new flatbuffers.Builder();
fbs.Start.startStart(builder); fbs.Start.startStart(builder);
const startOffset = fbs.Start.endStart(builder); const startOffset = fbs.Start.endStart(builder);
const baseRes = send(builder, fbs.Any.Start, startOffset); const baseRes = sendSync(builder, fbs.Any.Start, startOffset);
assert(baseRes != null); assert(baseRes != null);
assert(fbs.Any.StartRes === baseRes!.msgType()); assert(fbs.Any.StartRes === baseRes!.msgType());
const startRes = new fbs.StartRes(); const startRes = new fbs.StartRes();

View file

@ -4,14 +4,14 @@ import * as fbs from "gen/msg_generated";
import { assert } from "./util"; import { assert } from "./util";
import * as util from "./util"; import * as util from "./util";
import { flatbuffers } from "flatbuffers"; import { flatbuffers } from "flatbuffers";
import { send } from "./fbs_util"; import { sendSync } from "./dispatch";
export function exit(exitCode = 0): never { export function exit(exitCode = 0): never {
const builder = new flatbuffers.Builder(); const builder = new flatbuffers.Builder();
fbs.Exit.startExit(builder); fbs.Exit.startExit(builder);
fbs.Exit.addCode(builder, exitCode); fbs.Exit.addCode(builder, exitCode);
const msg = fbs.Exit.endExit(builder); const msg = fbs.Exit.endExit(builder);
send(builder, fbs.Any.Exit, msg); sendSync(builder, fbs.Any.Exit, msg);
return util.unreachable(); return util.unreachable();
} }
@ -28,7 +28,7 @@ export function codeFetch(
fbs.CodeFetch.addModuleSpecifier(builder, moduleSpecifier_); fbs.CodeFetch.addModuleSpecifier(builder, moduleSpecifier_);
fbs.CodeFetch.addContainingFile(builder, containingFile_); fbs.CodeFetch.addContainingFile(builder, containingFile_);
const msg = fbs.CodeFetch.endCodeFetch(builder); const msg = fbs.CodeFetch.endCodeFetch(builder);
const baseRes = send(builder, fbs.Any.CodeFetch, msg); const baseRes = sendSync(builder, fbs.Any.CodeFetch, msg);
assert(baseRes != null); assert(baseRes != null);
assert( assert(
fbs.Any.CodeFetchRes === baseRes!.msgType(), fbs.Any.CodeFetchRes === baseRes!.msgType(),
@ -59,7 +59,7 @@ export function codeCache(
fbs.CodeCache.addSourceCode(builder, sourceCode_); fbs.CodeCache.addSourceCode(builder, sourceCode_);
fbs.CodeCache.addOutputCode(builder, outputCode_); fbs.CodeCache.addOutputCode(builder, outputCode_);
const msg = fbs.CodeCache.endCodeCache(builder); const msg = fbs.CodeCache.endCodeCache(builder);
const baseRes = send(builder, fbs.Any.CodeCache, msg); const baseRes = sendSync(builder, fbs.Any.CodeCache, msg);
assert(baseRes == null); // Expect null or error. assert(baseRes == null); // Expect null or error.
} }
@ -97,7 +97,7 @@ export function makeTempDirSync({
fbs.MakeTempDir.addSuffix(builder, fbSuffix); fbs.MakeTempDir.addSuffix(builder, fbSuffix);
} }
const msg = fbs.MakeTempDir.endMakeTempDir(builder); const msg = fbs.MakeTempDir.endMakeTempDir(builder);
const baseRes = send(builder, fbs.Any.MakeTempDir, msg); const baseRes = sendSync(builder, fbs.Any.MakeTempDir, msg);
assert(baseRes != null); assert(baseRes != null);
assert(fbs.Any.MakeTempDirRes === baseRes!.msgType()); assert(fbs.Any.MakeTempDirRes === baseRes!.msgType());
const res = new fbs.MakeTempDirRes(); const res = new fbs.MakeTempDirRes();
@ -111,7 +111,7 @@ export function makeTempDirSync({
// and permission bits (before umask). // and permission bits (before umask).
export function mkdirSync(path: string, mode = 0o777): void { export function mkdirSync(path: string, mode = 0o777): void {
/* Ideally we could write: /* Ideally we could write:
const res = send({ const res = sendSync({
command: fbs.Command.MKDIR_SYNC, command: fbs.Command.MKDIR_SYNC,
mkdirSyncPath: path, mkdirSyncPath: path,
mkdirSyncMode: mode, mkdirSyncMode: mode,
@ -123,7 +123,7 @@ export function mkdirSync(path: string, mode = 0o777): void {
fbs.MkdirSync.addPath(builder, path_); fbs.MkdirSync.addPath(builder, path_);
fbs.MkdirSync.addMode(builder, mode); fbs.MkdirSync.addMode(builder, mode);
const msg = fbs.MkdirSync.endMkdirSync(builder); const msg = fbs.MkdirSync.endMkdirSync(builder);
send(builder, fbs.Any.MkdirSync, msg); sendSync(builder, fbs.Any.MkdirSync, msg);
} }
/** /**
@ -136,7 +136,7 @@ export function mkdirSync(path: string, mode = 0o777): void {
*/ */
export function readFileSync(filename: string): Uint8Array { export function readFileSync(filename: string): Uint8Array {
/* Ideally we could write /* Ideally we could write
const res = send({ const res = sendSync({
command: fbs.Command.READ_FILE_SYNC, command: fbs.Command.READ_FILE_SYNC,
readFileSyncFilename: filename readFileSyncFilename: filename
}); });
@ -147,7 +147,7 @@ export function readFileSync(filename: string): Uint8Array {
fbs.ReadFileSync.startReadFileSync(builder); fbs.ReadFileSync.startReadFileSync(builder);
fbs.ReadFileSync.addFilename(builder, filename_); fbs.ReadFileSync.addFilename(builder, filename_);
const msg = fbs.ReadFileSync.endReadFileSync(builder); const msg = fbs.ReadFileSync.endReadFileSync(builder);
const baseRes = send(builder, fbs.Any.ReadFileSync, msg); const baseRes = sendSync(builder, fbs.Any.ReadFileSync, msg);
assert(baseRes != null); assert(baseRes != null);
assert(fbs.Any.ReadFileSyncRes === baseRes!.msgType()); assert(fbs.Any.ReadFileSyncRes === baseRes!.msgType());
const res = new fbs.ReadFileSyncRes(); const res = new fbs.ReadFileSyncRes();
@ -182,7 +182,7 @@ function setEnv(key: string, value: string): void {
fbs.SetEnv.addKey(builder, _key); fbs.SetEnv.addKey(builder, _key);
fbs.SetEnv.addValue(builder, _value); fbs.SetEnv.addValue(builder, _value);
const msg = fbs.SetEnv.endSetEnv(builder); const msg = fbs.SetEnv.endSetEnv(builder);
send(builder, fbs.Any.SetEnv, msg); sendSync(builder, fbs.Any.SetEnv, msg);
} }
/** /**
@ -200,14 +200,14 @@ function setEnv(key: string, value: string): void {
*/ */
export function env(): { [index: string]: string } { export function env(): { [index: string]: string } {
/* Ideally we could write /* Ideally we could write
const res = send({ const res = sendSync({
command: fbs.Command.ENV, command: fbs.Command.ENV,
}); });
*/ */
const builder = new flatbuffers.Builder(); const builder = new flatbuffers.Builder();
fbs.Environ.startEnviron(builder); fbs.Environ.startEnviron(builder);
const msg = fbs.Environ.endEnviron(builder); const msg = fbs.Environ.endEnviron(builder);
const baseRes = send(builder, fbs.Any.Environ, msg)!; const baseRes = sendSync(builder, fbs.Any.Environ, msg)!;
assert(fbs.Any.EnvironRes === baseRes.msgType()); assert(fbs.Any.EnvironRes === baseRes.msgType());
const res = new fbs.EnvironRes(); const res = new fbs.EnvironRes();
assert(baseRes.msg(res) != null); assert(baseRes.msg(res) != null);
@ -303,7 +303,7 @@ export function statSync(filename: string): FileInfo {
function statSyncInner(filename: string, lstat: boolean): FileInfo { function statSyncInner(filename: string, lstat: boolean): FileInfo {
/* Ideally we could write /* Ideally we could write
const res = send({ const res = sendSync({
command: fbs.Command.STAT_FILE_SYNC, command: fbs.Command.STAT_FILE_SYNC,
StatFilename: filename, StatFilename: filename,
StatLStat: lstat, StatLStat: lstat,
@ -316,7 +316,7 @@ function statSyncInner(filename: string, lstat: boolean): FileInfo {
fbs.StatSync.addFilename(builder, filename_); fbs.StatSync.addFilename(builder, filename_);
fbs.StatSync.addLstat(builder, lstat); fbs.StatSync.addLstat(builder, lstat);
const msg = fbs.StatSync.endStatSync(builder); const msg = fbs.StatSync.endStatSync(builder);
const baseRes = send(builder, fbs.Any.StatSync, msg); const baseRes = sendSync(builder, fbs.Any.StatSync, msg);
assert(baseRes != null); assert(baseRes != null);
assert(fbs.Any.StatSyncRes === baseRes!.msgType()); assert(fbs.Any.StatSyncRes === baseRes!.msgType());
const res = new fbs.StatSyncRes(); const res = new fbs.StatSyncRes();
@ -338,7 +338,7 @@ export function writeFileSync(
perm = 0o666 perm = 0o666
): void { ): void {
/* Ideally we could write: /* Ideally we could write:
const res = send({ const res = sendSync({
command: fbs.Command.WRITE_FILE_SYNC, command: fbs.Command.WRITE_FILE_SYNC,
writeFileSyncFilename: filename, writeFileSyncFilename: filename,
writeFileSyncData: data, writeFileSyncData: data,
@ -353,7 +353,7 @@ export function writeFileSync(
fbs.WriteFileSync.addData(builder, dataOffset); fbs.WriteFileSync.addData(builder, dataOffset);
fbs.WriteFileSync.addPerm(builder, perm); fbs.WriteFileSync.addPerm(builder, perm);
const msg = fbs.WriteFileSync.endWriteFileSync(builder); const msg = fbs.WriteFileSync.endWriteFileSync(builder);
send(builder, fbs.Any.WriteFileSync, msg); sendSync(builder, fbs.Any.WriteFileSync, msg);
} }
/** /**
@ -366,7 +366,7 @@ export function writeFileSync(
*/ */
export function renameSync(oldpath: string, newpath: string): void { export function renameSync(oldpath: string, newpath: string): void {
/* Ideally we could write: /* Ideally we could write:
const res = send({ const res = sendSync({
command: fbs.Command.RENAME_SYNC, command: fbs.Command.RENAME_SYNC,
renameOldPath: oldpath, renameOldPath: oldpath,
renameNewPath: newpath renameNewPath: newpath
@ -379,5 +379,5 @@ export function renameSync(oldpath: string, newpath: string): void {
fbs.RenameSync.addOldpath(builder, _oldpath); fbs.RenameSync.addOldpath(builder, _oldpath);
fbs.RenameSync.addNewpath(builder, _newpath); fbs.RenameSync.addNewpath(builder, _newpath);
const msg = fbs.RenameSync.endRenameSync(builder); const msg = fbs.RenameSync.endRenameSync(builder);
send(builder, fbs.Any.RenameSync, msg); sendSync(builder, fbs.Any.RenameSync, msg);
} }

View file

@ -3,7 +3,7 @@ import { assert } from "./util";
import * as util from "./util"; import * as util from "./util";
import * as fbs from "gen/msg_generated"; import * as fbs from "gen/msg_generated";
import { flatbuffers } from "flatbuffers"; import { flatbuffers } from "flatbuffers";
import { send, sendAsync } from "./fbs_util"; import { sendSync, sendAsync } from "./dispatch";
let nextTimerId = 1; let nextTimerId = 1;
@ -93,6 +93,6 @@ export function clearTimer(id: number) {
fbs.TimerClear.startTimerClear(builder); fbs.TimerClear.startTimerClear(builder);
fbs.TimerClear.addId(builder, id); fbs.TimerClear.addId(builder, id);
const msg = fbs.TimerClear.endTimerClear(builder); const msg = fbs.TimerClear.endTimerClear(builder);
const res = send(builder, fbs.Any.TimerClear, msg); const res = sendSync(builder, fbs.Any.TimerClear, msg);
assert(res == null); assert(res == null);
} }

View file

@ -1,7 +1,7 @@
NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]/tests/error_004_missing_module.ts" NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]/tests/error_004_missing_module.ts"
at maybeError (deno/js/errors.ts:[WILDCARD]) at maybeError (deno/js/errors.ts:[WILDCARD])
at maybeThrowError (deno/js/errors.ts:[WILDCARD]) at maybeThrowError (deno/js/errors.ts:[WILDCARD])
at send (deno/js/fbs_util.ts:[WILDCARD]) at sendSync (deno/js/dispatch.ts:[WILDCARD])
at Object.codeFetch (deno/js/os.ts:[WILDCARD]) at Object.codeFetch (deno/js/os.ts:[WILDCARD])
at DenoCompiler.resolveModule (deno/js/compiler.ts:[WILDCARD]) at DenoCompiler.resolveModule (deno/js/compiler.ts:[WILDCARD])
at DenoCompiler._resolveModuleName (deno/js/compiler.ts:[WILDCARD]) at DenoCompiler._resolveModuleName (deno/js/compiler.ts:[WILDCARD])

View file

@ -1,7 +1,7 @@
NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]deno/tests/error_005_missing_dynamic_import.ts" NotFound: Cannot resolve module "bad-module.ts" from "[WILDCARD]deno/tests/error_005_missing_dynamic_import.ts"
at maybeError (deno/js/errors.ts:[WILDCARD]) at maybeError (deno/js/errors.ts:[WILDCARD])
at maybeThrowError (deno/js/errors.ts:[WILDCARD]) at maybeThrowError (deno/js/errors.ts:[WILDCARD])
at send (deno/js/fbs_util.ts:[WILDCARD]) at sendSync (deno/js/dispatch.ts:[WILDCARD])
at Object.codeFetch (deno/js/os.ts:[WILDCARD]) at Object.codeFetch (deno/js/os.ts:[WILDCARD])
at DenoCompiler.resolveModule (deno/js/compiler.ts:[WILDCARD]) at DenoCompiler.resolveModule (deno/js/compiler.ts:[WILDCARD])
at DenoCompiler._resolveModuleName (deno/js/compiler.ts:[WILDCARD]) at DenoCompiler._resolveModuleName (deno/js/compiler.ts:[WILDCARD])