Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type QuotaManager ¶
type QuotaManager struct {
// HourTimestamp: hourly timestamp used to handle hour limitations
HourTimestamp time.Time
// DayTimestamp: daily timestamp used to handle day limitations
DayTimestamp time.Time
// DmSent: quantity of dm sent in the last hour
DmSent int
// DmSentDay: quantity of dm sent in the last day
DmSentDay int
// MaxDmHour: maximum dm quantity per hour
MaxDmHour int `yaml:"dm_per_hour" validate:"numeric"`
// MaxDmDay: maximum dm quantity per day
MaxDmDay int `yaml:"dm_per_day" validate:"numeric"`
// Activated: quota manager activation boolean
Activated bool `yaml:"activated"`
}
QuotaManager data
func (*QuotaManager) AddDm ¶
func (qm *QuotaManager) AddDm()
AddDm report to the manager a message sending. It increment dm counter and check if quotas are still valid.
func (*QuotaManager) CheckQuotas ¶
func (qm *QuotaManager) CheckQuotas()
CheckQuotas check if quotas have not been exceeded and pauses the program otherwise.
func (*QuotaManager) InitializeQuotaManager ¶
func (qm *QuotaManager) InitializeQuotaManager()
InitializeQuotaManager initialize Quota manager with user settings
func (*QuotaManager) ResetDailyQuotas ¶
func (qm *QuotaManager) ResetDailyQuotas()
ResetDailyQuotas reset daily dm counter and update timestamp
func (*QuotaManager) ResetHourlyQuotas ¶
func (qm *QuotaManager) ResetHourlyQuotas()
ResetHourlyQuotas reset hourly dm counter and update timestamp
Click to show internal directories.
Click to hide internal directories.