public VetoResult AllowPut()
{
if (hardLimit == long.MaxValue)
return VetoResult.Allowed;
// checking the size of the database is pretty expensive, we only check it every so often, to reduce
// its cost. This means that users might go beyond the limit, but that is okay, since the quota is soft
// anyway
if ((DateTime.UtcNow - lastCheck).TotalMinutes < 3)
return skipCheck;
UpdateSkippedCheck();
return skipCheck;
}