aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/go-plugin/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/go-plugin/README.md')
-rw-r--r--vendor/github.com/hashicorp/go-plugin/README.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/vendor/github.com/hashicorp/go-plugin/README.md b/vendor/github.com/hashicorp/go-plugin/README.md
index e4558db..fe305ad 100644
--- a/vendor/github.com/hashicorp/go-plugin/README.md
+++ b/vendor/github.com/hashicorp/go-plugin/README.md
@@ -109,7 +109,7 @@ high-level steps that must be done. Examples are available in the
109 1. Choose the interface(s) you want to expose for plugins. 109 1. Choose the interface(s) you want to expose for plugins.
110 110
111 2. For each interface, implement an implementation of that interface 111 2. For each interface, implement an implementation of that interface
112 that communicates over a `net/rpc` connection or other a 112 that communicates over a `net/rpc` connection or over a
113 [gRPC](http://www.grpc.io) connection or both. You'll have to implement 113 [gRPC](http://www.grpc.io) connection or both. You'll have to implement
114 both a client and server implementation. 114 both a client and server implementation.
115 115
@@ -150,19 +150,19 @@ user experience.
150 150
151When we started using plugins (late 2012, early 2013), plugins over RPC 151When we started using plugins (late 2012, early 2013), plugins over RPC
152were the only option since Go didn't support dynamic library loading. Today, 152were the only option since Go didn't support dynamic library loading. Today,
153Go still doesn't support dynamic library loading, but they do intend to. 153Go supports the [plugin](https://golang.org/pkg/plugin/) standard library with
154Since 2012, our plugin system has stabilized from millions of users using it, 154a number of limitations. Since 2012, our plugin system has stabilized
155and has many benefits we've come to value greatly. 155from tens of millions of users using it, and has many benefits we've come to
156 156value greatly.
157For example, we intend to use this plugin system in 157
158[Vault](https://www.vaultproject.io), and dynamic library loading will 158For example, we use this plugin system in
159simply never be acceptable in Vault for security reasons. That is an extreme 159[Vault](https://www.vaultproject.io) where dynamic library loading is
160not acceptable for security reasons. That is an extreme
160example, but we believe our library system has more upsides than downsides 161example, but we believe our library system has more upsides than downsides
161over dynamic library loading and since we've had it built and tested for years, 162over dynamic library loading and since we've had it built and tested for years,
162we'll likely continue to use it. 163we'll continue to use it.
163 164
164Shared libraries have one major advantage over our system which is much 165Shared libraries have one major advantage over our system which is much
165higher performance. In real world scenarios across our various tools, 166higher performance. In real world scenarios across our various tools,
166we've never required any more performance out of our plugin system and it 167we've never required any more performance out of our plugin system and it
167has seen very high throughput, so this isn't a concern for us at the moment. 168has seen very high throughput, so this isn't a concern for us at the moment.
168