Versions in this module Expand all Collapse all v1 v1.0.0 Aug 24, 2020 Changes in this version + var ErrBucketFull = errors.New("some of the buckets returned false") + var ErrDeleteMissingBucket = errors.New("no bucket found in store for deletion") + var ErrEmptyBucketName = errors.New("empty bucket name received") + var ErrEmptyIP = errors.New("empty IP is received") + var ErrEmptyLogin = errors.New("empty login is received") + var ErrEmptyPWD = errors.New("empty password is received") + var ErrNoBucketFound = errors.New("no bucket found in store") + type ActiveBucketsStore struct + func NewActiveBucketsStore() *ActiveBucketsStore + func (abs *ActiveBucketsStore) AddBucket(name string, b Bucketer) + func (abs *ActiveBucketsStore) CheckBucket(name string) bool + func (abs *ActiveBucketsStore) GetBucket(name string) (Bucketer, error) + func (abs *ActiveBucketsStore) RemoveBucket(name string) error + type Bucket struct + func NewBucket(ctx context.Context, name string, count int, done chan<- string) *Bucket + func (b *Bucket) Decrement() bool + func (b *Bucket) GetCount() int + func (b *Bucket) Stop() + type Bucketer interface + Decrement func() bool + GetCount func() int + Stop func() + type ManageController interface + Dispatch func(login string, pwd string, ip string) (bool, error) + FlushBuckets func(login string, ip string) error + GetErrChan func() chan error + PurgeBucket func(name string) error + type Manager struct + func NewManager(ctx context.Context, settings *Settings) (*Manager, error) + func (m *Manager) Dispatch(login, pwd, ip string) (bool, error) + func (m *Manager) FlushBuckets(login, ip string) error + func (m *Manager) GetErrChan() chan error + func (m *Manager) PurgeBucket(name string) error + type MockBucketer struct + func NewMockBucketer(ctrl *gomock.Controller) *MockBucketer + func (m *MockBucketer) Decrement() bool + func (m *MockBucketer) EXPECT() *MockBucketerMockRecorder + func (m *MockBucketer) GetCount() int + func (m *MockBucketer) Stop() + type MockBucketerMockRecorder struct + func (mr *MockBucketerMockRecorder) Decrement() *gomock.Call + func (mr *MockBucketerMockRecorder) GetCount() *gomock.Call + func (mr *MockBucketerMockRecorder) Stop() *gomock.Call + type MockManageController struct + func NewMockManageController(ctrl *gomock.Controller) *MockManageController + func (m *MockManageController) Dispatch(login, pwd, ip string) (bool, error) + func (m *MockManageController) EXPECT() *MockManageControllerMockRecorder + func (m *MockManageController) FlushBuckets(login, ip string) error + func (m *MockManageController) GetErrChan() chan error + func (m *MockManageController) PurgeBucket(name string) error + type MockManageControllerMockRecorder struct + func (mr *MockManageControllerMockRecorder) Dispatch(login, pwd, ip interface{}) *gomock.Call + func (mr *MockManageControllerMockRecorder) FlushBuckets(login, ip interface{}) *gomock.Call + func (mr *MockManageControllerMockRecorder) GetErrChan() *gomock.Call + func (mr *MockManageControllerMockRecorder) PurgeBucket(name interface{}) *gomock.Call + type MockStorer struct + func NewMockStorer(ctrl *gomock.Controller) *MockStorer + func (m *MockStorer) AddBucket(name string, b Bucketer) + func (m *MockStorer) CheckBucket(name string) bool + func (m *MockStorer) EXPECT() *MockStorerMockRecorder + func (m *MockStorer) GetBucket(name string) (Bucketer, error) + func (m *MockStorer) RemoveBucket(name string) error + type MockStorerMockRecorder struct + func (mr *MockStorerMockRecorder) AddBucket(name, b interface{}) *gomock.Call + func (mr *MockStorerMockRecorder) CheckBucket(name interface{}) *gomock.Call + func (mr *MockStorerMockRecorder) GetBucket(name interface{}) *gomock.Call + func (mr *MockStorerMockRecorder) RemoveBucket(name interface{}) *gomock.Call + type Settings struct + Expire time.Duration + IPLimit int + LoginLimit int + PasswordLimit int + func InitBucketManagerSettings(cfg *config.Limits) (*Settings, error) + func (s Settings) Valid() bool + type Storer interface + AddBucket func(name string, b Bucketer) + CheckBucket func(name string) bool + GetBucket func(name string) (Bucketer, error) + RemoveBucket func(name string) error