| 921 | } |
| 922 | |
| 923 | const write = (event: ExecutionEvent): Promise<ExecutionEventEntry> => { |
| 924 | if (closed) return Promise.resolve({ eventId: 0, executionId, event }) |
| 925 | const p = writeQueue.then(() => writeCore(event)) |
| 926 | writeQueue = p.then( |
| 927 | () => { |
| 928 | writeFailure = null |
| 929 | }, |
| 930 | (error) => { |
| 931 | writeFailure = toError(error) |
| 932 | } |
| 933 | ) |
| 934 | inflightWrites.add(p) |
| 935 | const remove = () => inflightWrites.delete(p) |
| 936 | p.then(remove, remove) |
| 937 | return p |
| 938 | } |
| 939 | |
| 940 | const writeTerminal = ( |
| 941 | event: ExecutionEvent, |