Skip to content
Snippets Groups Projects

Change the current gosdn plugin implementation from Go's internal plugin system to hashicorp's go-plugins

Merged Ghost User requested to merge mb/plugin-registry-hashicorp-go-plugin into develop
4 files
+ 33
24
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -126,41 +126,36 @@ type LoadedPlugin struct {
ReattachConfig hcplugin.ReattachConfig `json:"reattatch_config,omitempty" bson:"reattatch_config"`
}
// TODO: just for testing -> needs to be changed.
func (lp *LoadedPlugin) UnmarshalBSON(data []byte) error {
loadedPluginTest := new(LoadedPluginTest)
if err := bson.Unmarshal(data, loadedPluginTest); err != nil {
loadedPluginHelper := new(LoadedPluginHelper)
if err := bson.Unmarshal(data, loadedPluginHelper); err != nil {
return err
}
fmt.Println("LoadedPluginTest: ", loadedPluginTest)
lp.ID = loadedPluginTest.ID
lp.Manifest = loadedPluginTest.Manifest
lp.State = loadedPluginTest.State
lp.ID = loadedPluginHelper.ID
lp.Manifest = loadedPluginHelper.Manifest
lp.State = loadedPluginHelper.State
lp.ReattachConfig = hcplugin.ReattachConfig{
Protocol: hcplugin.Protocol(loadedPluginTest.ReattachConfig.Protocol),
ProtocolVersion: loadedPluginTest.ReattachConfig.ProtocolVersion,
Protocol: hcplugin.Protocol(loadedPluginHelper.ReattachConfig.Protocol),
ProtocolVersion: loadedPluginHelper.ReattachConfig.ProtocolVersion,
Addr: &net.UnixAddr{
Name: loadedPluginTest.ReattachConfig.Addr.Name,
Net: loadedPluginTest.ReattachConfig.Addr.Net,
Name: loadedPluginHelper.ReattachConfig.Addr.Name,
Net: loadedPluginHelper.ReattachConfig.Addr.Net,
},
Pid: loadedPluginTest.ReattachConfig.Pid,
Test: loadedPluginTest.ReattachConfig.Test,
Pid: loadedPluginHelper.ReattachConfig.Pid,
Test: loadedPluginHelper.ReattachConfig.Test,
}
return nil
}
// TODO: just for testing -> remove
type LoadedPluginTest struct {
type LoadedPluginHelper struct {
ID string `json:"id" bson:"_id"`
Manifest Manifest `json:"manifest" bson:"manifest"`
State State `json:"state,omitempty" bson:"state"`
ReattachConfig LoadedReattachConfig `json:"reattatch_config,omitempty" bson:"reattatch_config"`
}
// TODO: just for testing -> remove
type LoadedReattachConfig struct {
Protocol string
ProtocolVersion int
@@ -169,7 +164,6 @@ type LoadedReattachConfig struct {
Test bool
}
// TODO: just for testing -> remove
type LoadedAddress struct {
Name string
Net string
Loading