You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: dynamic_plugin.pb.go
    path of file: ./repos/IOC-golang/extension/aop/dynamic_plugin/api/ioc_golang/aop/dynamic_plugin
    
    the code of the file until where you have to start completion: // EDIT IT, change to your package, service and message

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.14.0
// source: extension/aop/dynamic_plugin/api/ioc_golang/aop/dynamic_plugin/dynamic_plugin.proto

package dynamic_plugin

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type DynamicPluginUpdateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sdid         string `protobuf:"bytes,1,opt,name=sdid,proto3" json:"sdid,omitempty"`
	AutowireType string `protobuf:"bytes,2,opt,name=autowireType,proto3" json:"autowireType,omitempty"`
	PluginFile   []byte `protobuf:"bytes,3,opt,name=pluginFile,proto3" json:"pluginFile,omitempty"`
	PluginName   string `protobuf:"bytes,4,opt,name=pluginName,proto3" json:"pluginName,omitempty"`
}

func (x *DynamicPluginUpdateRequest
    
func file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_init() {
	if File_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DynamicPluginUpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DynamicPluginUpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   2,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_goTypes,
		DependencyIndexes: file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_depIdxs,
		MessageInfos:      file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_msgTypes,
	}.Build()
	File_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto = out.File
	file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_rawDesc = nil
	file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_goTypes = nil
	file_extension_aop_dynamic_plugin_api_ioc_golang_aop_dynamic_plugin_dynamic_plugin_proto_depIdxs = nil
}