check for responsiveness when maxBufferSize is set
This commit is contained in:
		
							parent
							
								
									725273167e
								
							
						
					
					
						commit
						829a094c6d
					
				| @ -8,7 +8,8 @@ Y({ | ||||
|   connector: { | ||||
|     name: 'websockets-client', | ||||
|     url: 'http://127.0.0.1:1234', | ||||
|     room: 'html-editor-example6' | ||||
|     room: 'html-editor-example6', | ||||
|     // maxBufferLength: 100
 | ||||
|   }, | ||||
|   share: { | ||||
|     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.broadcast(encoder.createBuffer()) | ||||
|           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. | ||||
|     */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user