in rd-net/RdFramework/Text/Impl/RdTextBuffer.cs [153:176]
public void Fire(RdTextChange change)
{
if (Mode.IsAssertion) Assertion.Assert(Delegate.IsBound || BufferVersion == TextBufferVersion.InitVersion);
if (Delegate.IsBound) this.GetProtoOrThrow().Scheduler.AssertThread();
if (IsMaster && myActiveSession != null && myActiveSession.IsCommitting)
{
return;
}
IncrementBufferVersion();
var bufferChange = new RdTextBufferChange(BufferVersion, myLocalOrigin, change);
if (change.Kind == RdTextChangeKind.Reset)
{
ClearState();
}
else if (!IsMaster)
{
myChangesToConfirmOrRollback.Add(bufferChange);
}
myActiveSession?.TryPushLocalChange(change);
Delegate.Changes.SetValue(bufferChange);
}