put encoder in block to scope it from ping interval handler #30

This commit is contained in:
Kevin Jahns 2020-10-04 12:25:12 +02:00
parent db90e2a594
commit b6bb04a405

View File

@ -242,17 +242,20 @@ exports.setupWSConnection = (conn, req, { docName = req.url.slice(1).split('?')[
conn.on('pong', () => { conn.on('pong', () => {
pongReceived = true pongReceived = true
}) })
// put the following in a variables in a block so the interval handlers don't keep in in
// send sync step 1 // scope
const encoder = encoding.createEncoder() {
encoding.writeVarUint(encoder, messageSync) // send sync step 1
syncProtocol.writeSyncStep1(encoder, doc)
send(doc, conn, encoding.toUint8Array(encoder))
const awarenessStates = doc.awareness.getStates()
if (awarenessStates.size > 0) {
const encoder = encoding.createEncoder() const encoder = encoding.createEncoder()
encoding.writeVarUint(encoder, messageAwareness) encoding.writeVarUint(encoder, messageSync)
encoding.writeVarUint8Array(encoder, awarenessProtocol.encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys()))) syncProtocol.writeSyncStep1(encoder, doc)
send(doc, conn, encoding.toUint8Array(encoder)) send(doc, conn, encoding.toUint8Array(encoder))
const awarenessStates = doc.awareness.getStates()
if (awarenessStates.size > 0) {
const encoder = encoding.createEncoder()
encoding.writeVarUint(encoder, messageAwareness)
encoding.writeVarUint8Array(encoder, awarenessProtocol.encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys())))
send(doc, conn, encoding.toUint8Array(encoder))
}
} }
} }