| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package datasource
- import (
- "context"
- plugin "github.com/hashicorp/go-plugin"
- "google.golang.org/grpc"
- )
- type DatasourcePlugin interface {
- Query(ctx context.Context, req *DatasourceRequest) (*DatasourceResponse, error)
- }
- type DatasourcePluginImpl struct {
- plugin.NetRPCUnsupportedPlugin
- Plugin DatasourcePlugin
- }
- func (p *DatasourcePluginImpl) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error {
- RegisterDatasourcePluginServer(s, &GRPCServer{p.Plugin})
- return nil
- }
- func (p *DatasourcePluginImpl) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error) {
- return &GRPCClient{NewDatasourcePluginClient(c)}, nil
- }
- type GRPCClient struct {
- DatasourcePluginClient
- }
- func (m *GRPCClient) Query(ctx context.Context, req *DatasourceRequest) (*DatasourceResponse, error) {
- return m.DatasourcePluginClient.Query(ctx, req)
- }
- type GRPCServer struct {
- DatasourcePlugin
- }
- func (m *GRPCServer) Query(ctx context.Context, req *DatasourceRequest) (*DatasourceResponse, error) {
- return m.DatasourcePlugin.Query(ctx, req)
- }
|