Skip to content
Concord

Class ContentionWatcher

Namespace
Concord.Detour
Assembly
Concord.Detour.dll

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

rawPinnedTargets Func<IReadOnlyCollection<MethodBase>>

Supplies the targets Concord currently owns with its own detour.

contestedLostTargets Func<IReadOnlyCollection<MethodBase>>

Supplies the targets whose promotion to the host failed.

foreignOwners Func<MethodBase, IReadOnlyList<string>>

Looks up the foreign patch owners on a target.

notifierInstalled Func<bool>

Reports whether the host's notifier hook is active.

warn Action<string>

Writes a warning to the host game's log.

dialogOnce Action<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()