Compare commits

...
This repository has been archived on 2023-04-09. You can view files and clone it, but cannot push or open issues or pull requests.

1 Commits

1 changed files with 7 additions and 7 deletions

View File

@ -205,34 +205,34 @@ class Channel {
type,
encoding,
onmessage,
recv(state, session) {
session._track(m.onmessage(encoding.decode(state), session));
async recv(state, session) {
session._track(m.onmessage(await encoding.decode(state), session));
},
send(m, session = s) {
async send(m, session = s) {
if (session.closed === true) return false;
const mux = session._mux;
const state = { buffer: null, start: 0, end: typeLen };
if (mux._batch !== null) {
encoding.preencode(state, m);
await encoding.preencode(state, m);
state.buffer = mux._alloc(state.end);
c.uint.encode(state, type);
encoding.encode(state, m);
await encoding.encode(state, m);
mux._pushBatch(session._localId, state.buffer);
return true;
}
c.uint.preencode(state, session._localId);
encoding.preencode(state, m);
await encoding.preencode(state, m);
state.buffer = mux._alloc(state.end);
c.uint.encode(state, session._localId);
c.uint.encode(state, type);
encoding.encode(state, m);
await encoding.encode(state, m);
return mux.stream.write(state.buffer);
},