fixed some consistency bugs. new method seems to work well, it still has problems though
This commit is contained in:
		
							parent
							
								
									acf8d37616
								
							
						
					
					
						commit
						638c575dfc
					
				@ -87,7 +87,7 @@ var files = {
 | 
			
		||||
  src: polyfills.concat(concatOrder.map(function (f) {
 | 
			
		||||
    return 'src/' + f
 | 
			
		||||
  })),
 | 
			
		||||
  test: ['Helper.spec.js'].concat(concatOrder.map(function (f) {
 | 
			
		||||
  test: ['build/Helper.spec.js'].concat(concatOrder.map(function (f) {
 | 
			
		||||
    return 'build/' + f
 | 
			
		||||
  }).concat(['build/**/*.spec.js']))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -167,6 +167,11 @@ class AbstractTransaction {
 | 
			
		||||
  }
 | 
			
		||||
  * garbageCollectOperation (id) {
 | 
			
		||||
    var o = yield* this.getOperation(id)
 | 
			
		||||
 | 
			
		||||
    if (o == null) {
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!o.deleted) {
 | 
			
		||||
      yield* this.deleteOperation(id)
 | 
			
		||||
      o = yield* this.getOperation(id)
 | 
			
		||||
@ -422,7 +427,7 @@ class AbstractOperationStore {
 | 
			
		||||
    } else {
 | 
			
		||||
      while (op != null) {
 | 
			
		||||
        var state = yield* this.getState(op.id[0])
 | 
			
		||||
        if (op.id[1] === state.clock || (op.id[1] < state.clock && (yield* this.getOperation(op.id)) == null)) {
 | 
			
		||||
        if (op.id[1] === state.clock) {
 | 
			
		||||
          // either its a new operation (1. case), or it is an operation that was deleted, but is not yet in the OS
 | 
			
		||||
          if (op.id[1] === state.clock) {
 | 
			
		||||
            state.clock++
 | 
			
		||||
 | 
			
		||||
@ -110,7 +110,7 @@ Y.Memory = (function () {
 | 
			
		||||
    }
 | 
			
		||||
    * checkDeleteStoreForState (state) {
 | 
			
		||||
      var n = this.ds.findNodeWithUpperBound([state.user, state.clock])
 | 
			
		||||
      if (n !== null && n.val.id[0] === state.user) {
 | 
			
		||||
      if (n !== null && n.val.id[0] === state.user && n.val.gc) {
 | 
			
		||||
        state.clock = Math.max(state.clock, n.val.id[1] + n.val.len)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
/* global createUsers, wait, Y, compareAllUsers, getRandomNumber, applyRandomTransactions, async, garbageCollectAllUsers, describeManyTimes */
 | 
			
		||||
/* eslint-env browser,jasmine */
 | 
			
		||||
 | 
			
		||||
var numberOfYArrayTests = 50
 | 
			
		||||
var numberOfYArrayTests = 10
 | 
			
		||||
var repeatArrayTests = 300
 | 
			
		||||
 | 
			
		||||
describe('Array Type', function () {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user