mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
914 B
37 lines
914 B
// Copyright 2023 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package internal |
|
|
|
import ( |
|
"context" |
|
"errors" |
|
) |
|
|
|
// Indexer defines an basic indexer interface |
|
type Indexer interface { |
|
// Init initializes the indexer |
|
// returns true if the index was opened/existed (with data populated), false if it was created/not-existed (with no data) |
|
Init(ctx context.Context) (bool, error) |
|
// Ping checks if the indexer is available |
|
Ping(ctx context.Context) error |
|
// Close closes the indexer |
|
Close() |
|
} |
|
|
|
// NewDummyIndexer returns a dummy indexer |
|
func NewDummyIndexer() Indexer { |
|
return &dummyIndexer{} |
|
} |
|
|
|
type dummyIndexer struct{} |
|
|
|
func (d *dummyIndexer) Init(ctx context.Context) (bool, error) { |
|
return false, errors.New("indexer is not ready") |
|
} |
|
|
|
func (d *dummyIndexer) Ping(ctx context.Context) error { |
|
return errors.New("indexer is not ready") |
|
} |
|
|
|
func (d *dummyIndexer) Close() {}
|
|
|