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
ILoggerFactorypolicy
AdmissionManager.AdmissionPolicymaxRecencyList
int
Properties
ActiveEndorsements
Active Endorsements.
public EndorsementCollection ActiveEndorsements { get; }
Property Value
Approved
Users explicitly approved.
public UserIdentityCollection Approved { get; }
Property Value
Remarks
These users (friends) are always admitted.
Banned
Users explicitly banned.
public UserIdentityCollection Banned { get; }
Property Value
Remarks
These users are never admitted (even if also approved).
InactiveEndorsements
Inactive Endorsements.
public EndorsementCollection InactiveEndorsements { get; }
Property Value
MaxRecencyList
The maximum number of entries to maintain in RecencyList.
public int MaxRecencyList { get; set; }
Property Value
Policy
The policy for which users to admit.
public AdmissionManager.AdmissionPolicy Policy { get; set; }
Property Value
RecencyList
The list of recently seen users.
public UserIdentityRecencyList RecencyList { get; }
Property Value
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
ILoggerFactorypolicy
AdmissionManager.AdmissionPolicymaxRecencyList
int
Returns
OnAdmit(UserIdentity, IEnumerable<Endorsement>, DateTime)
protected virtual ValueTask<bool> OnAdmit(UserIdentity identity, IEnumerable<Endorsement> endorsements, DateTime timestamp)
Parameters
identity
UserIdentityendorsements
IEnumerable<Endorsement>timestamp
DateTime
Returns
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
UserIdentityThe user identity to check.
endorsements
IEnumerable<Endorsement>Endorsements that support the identity provided by
identity
.timestamp
DateTimeThe timestamp.
Returns
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
objectfactory
ILoggerFactorypolicy
AdmissionManager.AdmissionPolicymaxRecencyList
int