//-----------------------------------------------------------------------
//
// 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; }
}
}