dispatch.ts 2.9 KB
Newer Older
1
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
R
Ryan Dahl 已提交
2
import * as minimal from "./dispatch_minimal";
3
import * as json from "./dispatch_json";
R
Ryan Dahl 已提交
4

R
Ryan Dahl 已提交
5 6 7
// These consts are shared with Rust. Update with care.
export const OP_READ = 1;
export const OP_WRITE = 2;
8 9 10 11 12
export const OP_EXIT = 3;
export const OP_IS_TTY = 4;
export const OP_ENV = 5;
export const OP_EXEC_PATH = 6;
export const OP_UTIME = 7;
B
Bartek Iwańczuk 已提交
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
export const OP_SET_ENV = 8;
export const OP_HOME_DIR = 9;
export const OP_START = 10;
export const OP_APPLY_SOURCE_MAP = 11;
export const OP_FORMAT_ERROR = 12;
export const OP_CACHE = 13;
export const OP_FETCH_SOURCE_FILE = 14;
export const OP_OPEN = 15;
export const OP_CLOSE = 16;
export const OP_SEEK = 17;
export const OP_FETCH = 18;
export const OP_METRICS = 19;
export const OP_REPL_START = 20;
export const OP_REPL_READLINE = 21;
export const OP_ACCEPT = 22;
export const OP_DIAL = 23;
export const OP_SHUTDOWN = 24;
export const OP_LISTEN = 25;
export const OP_RESOURCES = 26;
export const OP_GET_RANDOM_VALUES = 27;
export const OP_GLOBAL_TIMER_STOP = 28;
export const OP_GLOBAL_TIMER = 29;
export const OP_NOW = 30;
export const OP_PERMISSIONS = 31;
export const OP_REVOKE_PERMISSION = 32;
export const OP_CREATE_WORKER = 33;
export const OP_HOST_GET_WORKER_CLOSED = 34;
export const OP_HOST_POST_MESSAGE = 35;
export const OP_HOST_GET_MESSAGE = 36;
export const OP_WORKER_POST_MESSAGE = 37;
export const OP_WORKER_GET_MESSAGE = 38;
export const OP_RUN = 39;
export const OP_RUN_STATUS = 40;
export const OP_KILL = 41;
B
Bartek Iwańczuk 已提交
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
export const OP_CHDIR = 42;
export const OP_MKDIR = 43;
export const OP_CHMOD = 44;
export const OP_CHOWN = 45;
export const OP_REMOVE = 46;
export const OP_COPY_FILE = 47;
export const OP_STAT = 48;
export const OP_READ_DIR = 49;
export const OP_RENAME = 50;
export const OP_LINK = 51;
export const OP_SYMLINK = 52;
export const OP_READ_LINK = 53;
export const OP_TRUNCATE = 54;
export const OP_MAKE_TEMP_DIR = 55;
export const OP_CWD = 56;
62
export const OP_FETCH_ASSET = 57;
R
Ryan Dahl 已提交
63

64
export function asyncMsgFromRust(opId: number, ui8: Uint8Array): void {
R
Ryan Dahl 已提交
65 66 67
  switch (opId) {
    case OP_WRITE:
    case OP_READ:
68 69
      minimal.asyncMsgFromRust(opId, ui8);
      break;
B
Bartek Iwańczuk 已提交
70 71 72 73
    case OP_EXIT:
    case OP_IS_TTY:
    case OP_ENV:
    case OP_EXEC_PATH:
74
    case OP_UTIME:
B
Bartek Iwańczuk 已提交
75 76 77 78 79 80 81 82 83 84 85 86
    case OP_OPEN:
    case OP_SEEK:
    case OP_FETCH:
    case OP_REPL_START:
    case OP_REPL_READLINE:
    case OP_ACCEPT:
    case OP_DIAL:
    case OP_GLOBAL_TIMER:
    case OP_HOST_GET_WORKER_CLOSED:
    case OP_HOST_GET_MESSAGE:
    case OP_WORKER_GET_MESSAGE:
    case OP_RUN_STATUS:
B
Bartek Iwańczuk 已提交
87 88 89 90 91 92 93 94 95 96 97 98 99
    case OP_MKDIR:
    case OP_CHMOD:
    case OP_CHOWN:
    case OP_REMOVE:
    case OP_COPY_FILE:
    case OP_STAT:
    case OP_READ_DIR:
    case OP_RENAME:
    case OP_LINK:
    case OP_SYMLINK:
    case OP_READ_LINK:
    case OP_TRUNCATE:
    case OP_MAKE_TEMP_DIR:
100
      json.asyncMsgFromRust(opId, ui8);
R
Ryan Dahl 已提交
101 102
      break;
    default:
B
Bartek Iwańczuk 已提交
103
      throw Error("bad async opId");
104 105
  }
}