Regalo icon indicating copy to clipboard operation
Regalo copied to clipboard

Implement event stream conflict detection

Open nbarnwell opened this issue 12 years ago • 0 comments

First stab at conflict detection:

var common = getcommonancestorevents()
var left = common.Clone()
var right = common.Clone()

left.apply(myevents, Options.BypassInvariants)
left.apply(theirevents, Options.BypassInvariants)
right.apply(theirevents, Options.BypassInvariants)
right.apply(myevents, Options.BypassInvariants)

if (!left.Equals(right)) throw RealConcurrencyException

try {
    right.apply(myevents, Options.CheckInvariants)
} catch {
    throw RealConcurrencyException
}

return true

nbarnwell avatar Apr 27 '12 17:04 nbarnwell