Class ContentionWatcher
Reports methods where Concord's injections are not running because a foreign patcher owns the entry point. With the notifier hook installed this should only ever be a target whose promotion failed; without it, every late foreign patch lands here and nothing can recover them.
public sealed class ContentionWatcher
- Inheritance
-
ContentionWatcher
- Inherited Members
Constructors
ContentionWatcher(Func<IReadOnlyCollection<MethodBase>>, Func<IReadOnlyCollection<MethodBase>>, Func<MethodBase, IReadOnlyList<string>>, Func<bool>, Action<string>, Action<string>)
Initializes a new instance of the ContentionWatcher class.
public ContentionWatcher(Func<IReadOnlyCollection<MethodBase>> rawPinnedTargets, Func<IReadOnlyCollection<MethodBase>> contestedLostTargets, Func<MethodBase, IReadOnlyList<string>> foreignOwners, Func<bool> notifierInstalled, Action<string> warn, Action<string> dialogOnce)
Parameters
rawPinnedTargetsFunc<IReadOnlyCollection<MethodBase>>Supplies the targets Concord currently owns with its own detour.
contestedLostTargetsFunc<IReadOnlyCollection<MethodBase>>Supplies the targets whose promotion to the host failed.
foreignOwnersFunc<MethodBase, IReadOnlyList<string>>Looks up the foreign patch owners on a target.
notifierInstalledFunc<bool>Reports whether the host's notifier hook is active.
warnAction<string>Writes a warning to the host game's log.
dialogOnceAction<string>Shows a player-facing dialog, called at most once per target.
Methods
RunCheckpoint()
Checks once for methods Concord has lost, and reports each with the reason it was lost.
public void RunCheckpoint()