private void UpdateState(int token, BrotliFileState newState) => worker.Sync(() => { if (token != currentToken) { Debug.WriteLine("Ignored state change due to mismatched token (" + token + " != " + currentToken + ")"); return; } BrotliFileState prevState = state; state = newState; if (state is BrotliFileState.Starting) { replay.Clear(); } replay.Add(state); StateChanged?.Invoke(this, new StateChangedEventArgs(prevState, newState)); });
public StateChangedEventArgs(BrotliFileState from, BrotliFileState to) { this.From = from; this.To = to; }