interface.go 615 B

123456789101112131415161718192021222324252627
  1. package tsdb
  2. import (
  3. "context"
  4. proto "github.com/grafana/grafana/pkg/tsdb/models"
  5. plugin "github.com/hashicorp/go-plugin"
  6. "google.golang.org/grpc"
  7. )
  8. type TsdbPlugin interface {
  9. Query(ctx context.Context, req *proto.TsdbQuery) (*proto.Response, error)
  10. }
  11. type TsdbPluginImpl struct {
  12. plugin.NetRPCUnsupportedPlugin
  13. Plugin TsdbPlugin
  14. }
  15. func (p *TsdbPluginImpl) GRPCServer(s *grpc.Server) error {
  16. proto.RegisterTsdbPluginServer(s, &GRPCServer{p.Plugin})
  17. return nil
  18. }
  19. func (p *TsdbPluginImpl) GRPCClient(c *grpc.ClientConn) (interface{}, error) {
  20. return &GRPCClient{proto.NewTsdbPluginClient(c)}, nil
  21. }