OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / hashicorp / go-plugin / examples / bidirectional / shared / interface.go
diff --git a/vendor/github.com/hashicorp/go-plugin/examples/bidirectional/shared/interface.go b/vendor/github.com/hashicorp/go-plugin/examples/bidirectional/shared/interface.go
deleted file mode 100644 (file)
index f4ecb57..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// Package shared contains shared data between the host and plugins.
-package shared
-
-import (
-       "golang.org/x/net/context"
-       "google.golang.org/grpc"
-
-       "github.com/hashicorp/go-plugin"
-       "github.com/hashicorp/go-plugin/examples/bidirectional/proto"
-)
-
-// Handshake is a common handshake that is shared by plugin and host.
-var Handshake = plugin.HandshakeConfig{
-       ProtocolVersion:  1,
-       MagicCookieKey:   "BASIC_PLUGIN",
-       MagicCookieValue: "hello",
-}
-
-// PluginMap is the map of plugins we can dispense.
-var PluginMap = map[string]plugin.Plugin{
-       "counter": &CounterPlugin{},
-}
-
-type AddHelper interface {
-       Sum(int64, int64) (int64, error)
-}
-
-// KV is the interface that we're exposing as a plugin.
-type Counter interface {
-       Put(key string, value int64, a AddHelper) error
-       Get(key string) (int64, error)
-}
-
-// This is the implementation of plugin.Plugin so we can serve/consume this.
-// We also implement GRPCPlugin so that this plugin can be served over
-// gRPC.
-type CounterPlugin struct {
-       plugin.NetRPCUnsupportedPlugin
-       // Concrete implementation, written in Go. This is only used for plugins
-       // that are written in Go.
-       Impl Counter
-}
-
-func (p *CounterPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error {
-       proto.RegisterCounterServer(s, &GRPCServer{
-               Impl:   p.Impl,
-               broker: broker,
-       })
-       return nil
-}
-
-func (p *CounterPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error) {
-       return &GRPCClient{
-               client: proto.NewCounterClient(c),
-               broker: broker,
-       }, nil
-}
-
-var _ plugin.GRPCPlugin = &CounterPlugin{}