gitea源码

indexer.go 914B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package internal
  4. import (
  5. "context"
  6. "errors"
  7. )
  8. // Indexer defines an basic indexer interface
  9. type Indexer interface {
  10. // Init initializes the indexer
  11. // returns true if the index was opened/existed (with data populated), false if it was created/not-existed (with no data)
  12. Init(ctx context.Context) (bool, error)
  13. // Ping checks if the indexer is available
  14. Ping(ctx context.Context) error
  15. // Close closes the indexer
  16. Close()
  17. }
  18. // NewDummyIndexer returns a dummy indexer
  19. func NewDummyIndexer() Indexer {
  20. return &dummyIndexer{}
  21. }
  22. type dummyIndexer struct{}
  23. func (d *dummyIndexer) Init(ctx context.Context) (bool, error) {
  24. return false, errors.New("indexer is not ready")
  25. }
  26. func (d *dummyIndexer) Ping(ctx context.Context) error {
  27. return errors.New("indexer is not ready")
  28. }
  29. func (d *dummyIndexer) Close() {}