//----------------------------------------------------------------------- // // Copyright (C) 2011 Microsoft Corporation // //----------------------------------------------------------------------- namespace Microsoft.Samples.Management.OData.RoleBasedPlugins { /// /// RBAC quota module class /// internal class RbacQuota { /// Default Maximum concurrent requests private const int DefaultMaxConcurrrentRequests = 10; /// Default Maximum requests per second private const int DefaultMaxRequestPerSec = 10; /// /// Initializes a new instance of the RbacQuota class /// /// RBAC configuration quota value public RbacQuota(XmlQuota quota) { if (quota == null) { this.MaxConcurrentRequests = DefaultMaxConcurrrentRequests; this.MaxRequestsPerTimeSlot = DefaultMaxRequestPerSec; this.Timeslot = 1; } else { this.MaxConcurrentRequests = quota.MaxConcurrentRequests; this.MaxRequestsPerTimeSlot = quota.MaxRequestsPerTimeslot; this.Timeslot = quota.Timeslot; } } /// Gets or sets maximum concurrent requests public int MaxConcurrentRequests { get; set; } /// Gets or sets maximum requests per time slot public int MaxRequestsPerTimeSlot { get; set; } /// Gets or sets Time slot public int Timeslot { get; set; } } }