Table of Contents

Class AdmissionManager

Namespace
MarymoorStudios.Core.Rpc.Identity
Assembly
MarymoorStudios.Core.Rpc.Identity.dll
public class AdmissionManager : IAdmissionManager<AdmissionManager, object?>
Inheritance
AdmissionManager
Implements
Derived
Inherited Members

Constructors

AdmissionManager(ILoggerFactory, AdmissionPolicy, int)

Constructor.

protected AdmissionManager(ILoggerFactory factory, AdmissionManager.AdmissionPolicy policy, int maxRecencyList)

Parameters

factory ILoggerFactory
policy AdmissionManager.AdmissionPolicy
maxRecencyList int

Properties

ActiveEndorsements

Active Endorsements.

public EndorsementCollection ActiveEndorsements { get; }

Property Value

EndorsementCollection

Approved

Users explicitly approved.

public UserIdentityCollection Approved { get; }

Property Value

UserIdentityCollection

Remarks

These users (friends) are always admitted.

Banned

Users explicitly banned.

public UserIdentityCollection Banned { get; }

Property Value

UserIdentityCollection

Remarks

These users are never admitted (even if also approved).

InactiveEndorsements

Inactive Endorsements.

public EndorsementCollection InactiveEndorsements { get; }

Property Value

EndorsementCollection

MaxRecencyList

The maximum number of entries to maintain in RecencyList.

public int MaxRecencyList { get; set; }

Property Value

int

Policy

The policy for which users to admit.

public AdmissionManager.AdmissionPolicy Policy { get; set; }

Property Value

AdmissionManager.AdmissionPolicy

RecencyList

The list of recently seen users.

public UserIdentityRecencyList RecencyList { get; }

Property Value

UserIdentityRecencyList

Remarks

This list includes both accepted and refused users.

Methods

Create(ILoggerFactory, AdmissionPolicy, int)

Creates a new admission manager.

public static AdmissionManager Create(ILoggerFactory factory, AdmissionManager.AdmissionPolicy policy = AdmissionPolicy.FriendsOnly, int maxRecencyList = 10)

Parameters

factory ILoggerFactory
policy AdmissionManager.AdmissionPolicy
maxRecencyList int

Returns

AdmissionManager

OnAdmit(UserIdentity, IEnumerable<Endorsement>, DateTime)

protected virtual ValueTask<bool> OnAdmit(UserIdentity identity, IEnumerable<Endorsement> endorsements, DateTime timestamp)

Parameters

identity UserIdentity
endorsements IEnumerable<Endorsement>
timestamp DateTime

Returns

ValueTask<bool>

TryAdmit(UserIdentity, IEnumerable<Endorsement>, DateTime)

Checks if the user identity can be admitted.

public ValueTask<bool> TryAdmit(UserIdentity identity, IEnumerable<Endorsement> endorsements, DateTime timestamp)

Parameters

identity UserIdentity

The user identity to check.

endorsements IEnumerable<Endorsement>

Endorsements that support the identity provided by identity.

timestamp DateTime

The timestamp.

Returns

ValueTask<bool>

True if the user should be admitted, false otherwise.

Explicit Interface Implementations

Create(object?, ILoggerFactory, AdmissionPolicy, int)

Creates a new admission manager.

static AdmissionManager Create(object? args, ILoggerFactory factory, AdmissionManager.AdmissionPolicy policy = AdmissionPolicy.FriendsOnly, int maxRecencyList = 10)

Parameters

args object
factory ILoggerFactory
policy AdmissionManager.AdmissionPolicy
maxRecencyList int

Returns

AdmissionManager