Compare commits

...

4 Commits

Author SHA1 Message Date
Kevin Jahns
eeacb5665a v13.0.0-21 -- distribution files 2017-10-02 15:52:23 +02:00
Kevin Jahns
c8ca80d15f 13.0.0-21 2017-10-02 15:52:11 +02:00
Kevin Jahns
be282c8338 fix lint 2017-10-02 15:50:56 +02:00
Kevin Jahns
829a094c6d check for responsiveness when maxBufferSize is set 2017-10-02 15:45:23 +02:00
9 changed files with 29294 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ Y({
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"

View File

@@ -1,6 +1,6 @@
{ {
"name": "yjs", "name": "yjs",
"version": "13.0.0-20", "version": "13.0.0-21",
"description": "A framework for real-time p2p shared editing on any data", "description": "A framework for real-time p2p shared editing on any data",
"main": "./y.node.js", "main": "./y.node.js",
"browser": "./y.js", "browser": "./y.js",

View File

@@ -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.
*/ */

9
y.js Normal file

File diff suppressed because one or more lines are too long

1
y.js.map Normal file

File diff suppressed because one or more lines are too long

5689
y.node.js Normal file

File diff suppressed because it is too large Load Diff

1
y.node.js.map Normal file

File diff suppressed because one or more lines are too long

23576
y.test.js Normal file

File diff suppressed because one or more lines are too long

1
y.test.js.map Normal file

File diff suppressed because one or more lines are too long