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