interface.go 773 B

123456789101112131415161718192021222324252627282930313233
  1. package proxy
  2. import (
  3. "golang.org/x/net/context"
  4. //tsdb "github.com/grafana/grafana/pkg/tsdb"
  5. proto "github.com/grafana/grafana/pkg/tsdb/models"
  6. plugin "github.com/hashicorp/go-plugin"
  7. "google.golang.org/grpc"
  8. )
  9. var PluginMap = map[string]plugin.Plugin{
  10. "tsdb_mock": &TsdbPluginImpl{},
  11. }
  12. type TsdbPlugin interface {
  13. Query(ctx context.Context, req *proto.TsdbQuery) (*proto.Response, error)
  14. }
  15. type TsdbPluginImpl struct { //LOL IMPL LOL
  16. plugin.NetRPCUnsupportedPlugin
  17. Plugin TsdbPlugin
  18. }
  19. func (p *TsdbPluginImpl) GRPCServer(s *grpc.Server) error {
  20. proto.RegisterTsdbPluginServer(s, &GRPCServer{p.Plugin})
  21. return nil
  22. }
  23. func (p *TsdbPluginImpl) GRPCClient(c *grpc.ClientConn) (interface{}, error) {
  24. return &GRPCClient{proto.NewTsdbPluginClient(c)}, nil
  25. }