check for responsiveness when maxBufferSize is set
This commit is contained in:
parent
725273167e
commit
829a094c6d
@ -8,7 +8,8 @@ Y({
|
|||||||
connector: {
|
connector: {
|
||||||
name: 'websockets-client',
|
name: 'websockets-client',
|
||||||
url: 'http://127.0.0.1:1234',
|
url: 'http://127.0.0.1:1234',
|
||||||
room: 'html-editor-example6'
|
room: 'html-editor-example6',
|
||||||
|
// maxBufferLength: 100
|
||||||
},
|
},
|
||||||
share: {
|
share: {
|
||||||
xml: 'XmlFragment()' // y.share.xml is of type Y.Xml with tagname "p"
|
xml: 'XmlFragment()' // y.share.xml is of type Y.Xml with tagname "p"
|
||||||
|
@ -213,7 +213,7 @@ export default function extendConnector (Y/* :any */) {
|
|||||||
self.broadcastOpBuffer = ops.slice(i)
|
self.broadcastOpBuffer = ops.slice(i)
|
||||||
self.broadcast(encoder.createBuffer())
|
self.broadcast(encoder.createBuffer())
|
||||||
if (i !== length) {
|
if (i !== length) {
|
||||||
setTimeout(broadcastOperations, 100)
|
self.whenRemoteResponsive().then(broadcastOperations)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -225,6 +225,20 @@ export default function extendConnector (Y/* :any */) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Somehow check the responsiveness of the remote clients/server
|
||||||
|
* Default behavior:
|
||||||
|
* Wait 100ms before broadcasting the next batch of operations
|
||||||
|
*
|
||||||
|
* Only used when maxBufferLength is set
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
whenRemoteResponsive () {
|
||||||
|
return new Promise(function (resolve) {
|
||||||
|
setTimeout(resolve, 100)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
You received a raw message, and you know that it is intended for Yjs. Then call this function.
|
You received a raw message, and you know that it is intended for Yjs. Then call this function.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user