diff --git a/pkg/ctrlserver/ctrlserver.go b/pkg/ctrlserver/ctrlserver.go index 7c86461..6e8459b 100644 --- a/pkg/ctrlserver/ctrlserver.go +++ b/pkg/ctrlserver/ctrlserver.go @@ -3,7 +3,6 @@ package ctrlserver import ( "errors" "fmt" - "math/rand" "net" "strconv" @@ -38,7 +37,7 @@ func (server *MeshCtrlServer) addSelfToMesh(meshId string) error { node := MeshNode{ HostEndpoint: ipAddr.String() + ":8080", - PublicKey: server.GetDevice().PrivateKey.String(), + PublicKey: server.GetDevice().PublicKey.String(), WgEndpoint: ipAddr.String() + ":51820", WgHost: "10.0.0.1/32", } @@ -69,6 +68,7 @@ type AddHostArgs struct { PublicKey string MeshId string WgEndpoint string + WgIp string } func (server *MeshCtrlServer) AddHost(args AddHostArgs) error { @@ -84,13 +84,11 @@ func (server *MeshCtrlServer) AddHost(args AddHostArgs) error { return errors.New("The node already has an endpoint in the mesh network") } - fmt.Println(args.WgEndpoint) - node := MeshNode{ HostEndpoint: args.HostEndpoint, WgEndpoint: args.WgEndpoint, PublicKey: args.PublicKey, - WgHost: "10.0.0." + strconv.Itoa(rand.Intn(253)+1) + "/32", + WgHost: args.WgIp, } err := AddWgPeer(server.IfName, server.Client, node) @@ -118,6 +116,8 @@ func AddWgPeer(ifName string, client *wgctrl.Client, node MeshNode) error { peer := make([]wgtypes.PeerConfig, 1) peerPublic, err := wgtypes.ParseKey(node.PublicKey) + fmt.Println("node.PublicKey: " + node.PublicKey) + fmt.Println("peerPublic: " + peerPublic.String()) if err != nil { return err diff --git a/pkg/ctrlserver/ipc/ipchandler.go b/pkg/ctrlserver/ipc/ipchandler.go index a31cd76..1a65465 100644 --- a/pkg/ctrlserver/ipc/ipchandler.go +++ b/pkg/ctrlserver/ipc/ipchandler.go @@ -8,6 +8,7 @@ import ( "net/http" ipcRpc "net/rpc" "os" + "slices" "strconv" "time" @@ -90,15 +91,65 @@ func updateMesh(n *Mesh, meshId string, endPoint string) error { WgHost: node.WgHost, } - n.Server.Meshes[meshId].Nodes[node.Endpoint] = meshNode - + n.Server.Meshes[meshId].Nodes[meshNode.HostEndpoint] = meshNode ctrlserver.AddWgPeer(n.Server.IfName, n.Server.Client, meshNode) } return nil } -func (n Mesh) JoinOtherMesh +func updatePeer(n *Mesh, node ctrlserver.MeshNode, wgHost string, meshId string) error { + conn, err := grpc.Dial(node.HostEndpoint, grpc.WithTransportCredentials(insecure.NewCredentials())) + + if err != nil { + return err + } + + defer conn.Close() + + c := rpc.NewMeshCtrlServerClient(conn) + + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + + dev := n.Server.GetDevice() + joinMeshReq := rpc.JoinMeshRequest{ + MeshId: meshId, + HostPort: 8080, + PublicKey: dev.PublicKey.String(), + WgPort: int32(dev.ListenPort), + WgIp: wgHost, + } + + r, err := c.JoinMesh(ctx, &joinMeshReq) + + if err != nil { + return err + } + + if !r.GetSuccess() { + return errors.New("Could not join the mesh") + } + + return nil +} + +func updatePeers(n *Mesh, meshId string, wgHost string, nodesToExclude []string) error { + for _, node := range n.Server.Meshes[meshId].Nodes { + nodeEndpoint := node.HostEndpoint + + if !slices.Contains(nodesToExclude, nodeEndpoint) { + // Best effort service + err := updatePeer(n, node, wgHost, meshId) + + if err != nil { + fmt.Println(err.Error()) + } + } + } + + return nil +} func (n Mesh) JoinMesh(args *ipctypes.JoinMeshArgs, reply *string) error { conn, err := grpc.Dial(args.IpAdress+":8080", grpc.WithTransportCredentials(insecure.NewCredentials())) @@ -116,6 +167,8 @@ func (n Mesh) JoinMesh(args *ipctypes.JoinMeshArgs, reply *string) error { dev := n.Server.GetDevice() + fmt.Print("Pub Key:" + dev.PublicKey.String()) + joinMeshReq := rpc.JoinMeshRequest{ MeshId: args.MeshId, HostPort: 8080, @@ -133,6 +186,8 @@ func (n Mesh) JoinMesh(args *ipctypes.JoinMeshArgs, reply *string) error { updateMesh(&n, args.MeshId, args.IpAdress+":8080") } + err = updatePeers(&n, args.MeshId, r.GetMeshIp(), make([]string, 0)) + *reply = strconv.FormatBool(r.GetSuccess()) return nil } @@ -152,6 +207,7 @@ func (n Mesh) GetMesh(meshId string, reply *ipc.GetMeshReply) error { *reply = ipc.GetMeshReply{Nodes: nodes} } else { + return errors.New("mesh does not exist") } return nil } diff --git a/pkg/ctrlserver/rpc/ctrlserver.pb.go b/pkg/ctrlserver/rpc/ctrlserver.pb.go index 6750e1a..ce6e369 100644 --- a/pkg/ctrlserver/rpc/ctrlserver.pb.go +++ b/pkg/ctrlserver/rpc/ctrlserver.pb.go @@ -202,6 +202,7 @@ type JoinMeshRequest struct { HostPort int32 `protobuf:"varint,2,opt,name=hostPort,proto3" json:"hostPort,omitempty"` PublicKey string `protobuf:"bytes,3,opt,name=publicKey,proto3" json:"publicKey,omitempty"` WgPort int32 `protobuf:"varint,4,opt,name=wgPort,proto3" json:"wgPort,omitempty"` + WgIp string `protobuf:"bytes,5,opt,name=wgIp,proto3" json:"wgIp,omitempty"` } func (x *JoinMeshRequest) Reset() { @@ -264,6 +265,13 @@ func (x *JoinMeshRequest) GetWgPort() int32 { return 0 } +func (x *JoinMeshRequest) GetWgIp() string { + if x != nil { + return x.WgIp + } + return "" +} + type JoinMeshReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -341,31 +349,32 @@ var file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDesc = []byte{ 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x22, 0x7b, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x51, 0x0a, - 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, - 0x49, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, - 0x49, 0x70, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x70, - 0x32, 0x91, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x74, 0x72, 0x6c, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x18, - 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x00, 0x12, 0x40, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x19, + 0x22, 0x8f, 0x01, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x77, 0x67, 0x49, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x67, + 0x49, 0x70, 0x22, 0x51, 0x0a, 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, + 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x70, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, + 0x65, 0x73, 0x68, 0x49, 0x70, 0x32, 0x91, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x74, + 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x73, 0x68, 0x12, 0x18, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, + 0x65, 0x73, 0x68, 0x12, 0x19, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4a, + 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x70, 0x63, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x6b, 0x67, 0x2f, 0x63, 0x74, 0x72, 0x6c, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x6b, 0x67, + 0x2f, 0x63, 0x74, 0x72, 0x6c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x72, 0x70, 0x63, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/ctrlserver/rpc/rpchandler.go b/pkg/ctrlserver/rpc/rpchandler.go index 56f9642..ba5b53f 100644 --- a/pkg/ctrlserver/rpc/rpchandler.go +++ b/pkg/ctrlserver/rpc/rpchandler.go @@ -4,6 +4,7 @@ import ( context "context" "errors" "fmt" + "math/rand" "net" "strconv" @@ -65,21 +66,30 @@ func (m *meshCtrlServer) JoinMesh(ctx context.Context, request *JoinMeshRequest) return nil, err } + wgIp := request.WgIp + + if wgIp == "" { + wgIp = "10.0.0." + strconv.Itoa(rand.Intn(253)+1) + "/32" + } + + fmt.Println("Join server public key: " + request.PublicKey) + fmt.Println("Request: " + request.MeshId) + addHostArgs := ctrlserver.AddHostArgs{ HostEndpoint: hostIp + ":" + strconv.Itoa(int(request.HostPort)), PublicKey: request.PublicKey, MeshId: request.MeshId, WgEndpoint: hostIp + ":" + strconv.Itoa(int(request.WgPort)), + WgIp: wgIp, } err = m.server.AddHost(addHostArgs) if err != nil { - return &JoinMeshReply{Success: false}, nil + return nil, err } - fmt.Println("success!") - return &JoinMeshReply{Success: true}, nil + return &JoinMeshReply{Success: true, MeshIp: &wgIp}, nil } func NewRpcServer(ctlServer *ctrlserver.MeshCtrlServer) *grpc.Server { diff --git a/pkg/grpc/ctrlserver/ctrlserver.pb.go b/pkg/grpc/ctrlserver/ctrlserver.pb.go deleted file mode 100644 index 6750e1a..0000000 --- a/pkg/grpc/ctrlserver/ctrlserver.pb.go +++ /dev/null @@ -1,490 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: pkg/grpc/ctrlserver/ctrlserver.proto - -package rpc - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -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 MeshNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PublicKey string `protobuf:"bytes,1,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - WgEndpoint string `protobuf:"bytes,2,opt,name=wgEndpoint,proto3" json:"wgEndpoint,omitempty"` - Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - WgHost string `protobuf:"bytes,4,opt,name=wgHost,proto3" json:"wgHost,omitempty"` -} - -func (x *MeshNode) Reset() { - *x = MeshNode{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MeshNode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MeshNode) ProtoMessage() {} - -func (x *MeshNode) ProtoReflect() protoreflect.Message { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MeshNode.ProtoReflect.Descriptor instead. -func (*MeshNode) Descriptor() ([]byte, []int) { - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP(), []int{0} -} - -func (x *MeshNode) GetPublicKey() string { - if x != nil { - return x.PublicKey - } - return "" -} - -func (x *MeshNode) GetWgEndpoint() string { - if x != nil { - return x.WgEndpoint - } - return "" -} - -func (x *MeshNode) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -func (x *MeshNode) GetWgHost() string { - if x != nil { - return x.WgHost - } - return "" -} - -type GetMeshRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MeshId string `protobuf:"bytes,1,opt,name=meshId,proto3" json:"meshId,omitempty"` -} - -func (x *GetMeshRequest) Reset() { - *x = GetMeshRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMeshRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMeshRequest) ProtoMessage() {} - -func (x *GetMeshRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMeshRequest.ProtoReflect.Descriptor instead. -func (*GetMeshRequest) Descriptor() ([]byte, []int) { - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP(), []int{1} -} - -func (x *GetMeshRequest) GetMeshId() string { - if x != nil { - return x.MeshId - } - return "" -} - -type GetMeshReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MeshId string `protobuf:"bytes,1,opt,name=meshId,proto3" json:"meshId,omitempty"` - MeshNode []*MeshNode `protobuf:"bytes,2,rep,name=meshNode,proto3" json:"meshNode,omitempty"` -} - -func (x *GetMeshReply) Reset() { - *x = GetMeshReply{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMeshReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMeshReply) ProtoMessage() {} - -func (x *GetMeshReply) ProtoReflect() protoreflect.Message { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMeshReply.ProtoReflect.Descriptor instead. -func (*GetMeshReply) Descriptor() ([]byte, []int) { - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP(), []int{2} -} - -func (x *GetMeshReply) GetMeshId() string { - if x != nil { - return x.MeshId - } - return "" -} - -func (x *GetMeshReply) GetMeshNode() []*MeshNode { - if x != nil { - return x.MeshNode - } - return nil -} - -type JoinMeshRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MeshId string `protobuf:"bytes,1,opt,name=meshId,proto3" json:"meshId,omitempty"` - HostPort int32 `protobuf:"varint,2,opt,name=hostPort,proto3" json:"hostPort,omitempty"` - PublicKey string `protobuf:"bytes,3,opt,name=publicKey,proto3" json:"publicKey,omitempty"` - WgPort int32 `protobuf:"varint,4,opt,name=wgPort,proto3" json:"wgPort,omitempty"` -} - -func (x *JoinMeshRequest) Reset() { - *x = JoinMeshRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JoinMeshRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinMeshRequest) ProtoMessage() {} - -func (x *JoinMeshRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinMeshRequest.ProtoReflect.Descriptor instead. -func (*JoinMeshRequest) Descriptor() ([]byte, []int) { - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP(), []int{3} -} - -func (x *JoinMeshRequest) GetMeshId() string { - if x != nil { - return x.MeshId - } - return "" -} - -func (x *JoinMeshRequest) GetHostPort() int32 { - if x != nil { - return x.HostPort - } - return 0 -} - -func (x *JoinMeshRequest) GetPublicKey() string { - if x != nil { - return x.PublicKey - } - return "" -} - -func (x *JoinMeshRequest) GetWgPort() int32 { - if x != nil { - return x.WgPort - } - return 0 -} - -type JoinMeshReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - MeshIp *string `protobuf:"bytes,2,opt,name=meshIp,proto3,oneof" json:"meshIp,omitempty"` -} - -func (x *JoinMeshReply) Reset() { - *x = JoinMeshReply{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JoinMeshReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinMeshReply) ProtoMessage() {} - -func (x *JoinMeshReply) ProtoReflect() protoreflect.Message { - mi := &file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinMeshReply.ProtoReflect.Descriptor instead. -func (*JoinMeshReply) Descriptor() ([]byte, []int) { - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP(), []int{4} -} - -func (x *JoinMeshReply) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -func (x *JoinMeshReply) GetMeshIp() string { - if x != nil && x.MeshIp != nil { - return *x.MeshIp - } - return "" -} - -var File_pkg_grpc_ctrlserver_ctrlserver_proto protoreflect.FileDescriptor - -var file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDesc = []byte{ - 0x0a, 0x24, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x74, 0x72, 0x6c, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x63, 0x74, 0x72, 0x6c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x22, 0x7c, 0x0a, 0x08, 0x4d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x67, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x77, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x67, 0x48, 0x6f, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x28, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, - 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x64, 0x65, - 0x22, 0x7b, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x51, 0x0a, - 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x65, 0x73, 0x68, - 0x49, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, - 0x49, 0x70, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x70, - 0x32, 0x91, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x74, 0x72, 0x6c, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x18, - 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x00, 0x12, 0x40, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x19, - 0x2e, 0x72, 0x70, 0x63, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x70, 0x63, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x22, 0x00, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x6b, 0x67, 0x2f, 0x63, 0x74, 0x72, 0x6c, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescOnce sync.Once - file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescData = file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDesc -) - -func file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescGZIP() []byte { - file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescOnce.Do(func() { - file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescData) - }) - return file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDescData -} - -var file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_pkg_grpc_ctrlserver_ctrlserver_proto_goTypes = []interface{}{ - (*MeshNode)(nil), // 0: rpctypes.MeshNode - (*GetMeshRequest)(nil), // 1: rpctypes.GetMeshRequest - (*GetMeshReply)(nil), // 2: rpctypes.GetMeshReply - (*JoinMeshRequest)(nil), // 3: rpctypes.JoinMeshRequest - (*JoinMeshReply)(nil), // 4: rpctypes.JoinMeshReply -} -var file_pkg_grpc_ctrlserver_ctrlserver_proto_depIdxs = []int32{ - 0, // 0: rpctypes.GetMeshReply.meshNode:type_name -> rpctypes.MeshNode - 1, // 1: rpctypes.MeshCtrlServer.GetMesh:input_type -> rpctypes.GetMeshRequest - 3, // 2: rpctypes.MeshCtrlServer.JoinMesh:input_type -> rpctypes.JoinMeshRequest - 2, // 3: rpctypes.MeshCtrlServer.GetMesh:output_type -> rpctypes.GetMeshReply - 4, // 4: rpctypes.MeshCtrlServer.JoinMesh:output_type -> rpctypes.JoinMeshReply - 3, // [3:5] is the sub-list for method output_type - 1, // [1:3] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_pkg_grpc_ctrlserver_ctrlserver_proto_init() } -func file_pkg_grpc_ctrlserver_ctrlserver_proto_init() { - if File_pkg_grpc_ctrlserver_ctrlserver_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeshNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeshRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeshReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinMeshRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinMeshReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes[4].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDesc, - NumEnums: 0, - NumMessages: 5, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_pkg_grpc_ctrlserver_ctrlserver_proto_goTypes, - DependencyIndexes: file_pkg_grpc_ctrlserver_ctrlserver_proto_depIdxs, - MessageInfos: file_pkg_grpc_ctrlserver_ctrlserver_proto_msgTypes, - }.Build() - File_pkg_grpc_ctrlserver_ctrlserver_proto = out.File - file_pkg_grpc_ctrlserver_ctrlserver_proto_rawDesc = nil - file_pkg_grpc_ctrlserver_ctrlserver_proto_goTypes = nil - file_pkg_grpc_ctrlserver_ctrlserver_proto_depIdxs = nil -} diff --git a/pkg/grpc/ctrlserver/ctrlserver_grpc.pb.go b/pkg/grpc/ctrlserver/ctrlserver_grpc.pb.go deleted file mode 100644 index 0a1f501..0000000 --- a/pkg/grpc/ctrlserver/ctrlserver_grpc.pb.go +++ /dev/null @@ -1,141 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: pkg/grpc/ctrlserver/ctrlserver.proto - -package rpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// MeshCtrlServerClient is the client API for MeshCtrlServer service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type MeshCtrlServerClient interface { - GetMesh(ctx context.Context, in *GetMeshRequest, opts ...grpc.CallOption) (*GetMeshReply, error) - JoinMesh(ctx context.Context, in *JoinMeshRequest, opts ...grpc.CallOption) (*JoinMeshReply, error) -} - -type meshCtrlServerClient struct { - cc grpc.ClientConnInterface -} - -func NewMeshCtrlServerClient(cc grpc.ClientConnInterface) MeshCtrlServerClient { - return &meshCtrlServerClient{cc} -} - -func (c *meshCtrlServerClient) GetMesh(ctx context.Context, in *GetMeshRequest, opts ...grpc.CallOption) (*GetMeshReply, error) { - out := new(GetMeshReply) - err := c.cc.Invoke(ctx, "/rpctypes.MeshCtrlServer/GetMesh", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *meshCtrlServerClient) JoinMesh(ctx context.Context, in *JoinMeshRequest, opts ...grpc.CallOption) (*JoinMeshReply, error) { - out := new(JoinMeshReply) - err := c.cc.Invoke(ctx, "/rpctypes.MeshCtrlServer/JoinMesh", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MeshCtrlServerServer is the server API for MeshCtrlServer service. -// All implementations must embed UnimplementedMeshCtrlServerServer -// for forward compatibility -type MeshCtrlServerServer interface { - GetMesh(context.Context, *GetMeshRequest) (*GetMeshReply, error) - JoinMesh(context.Context, *JoinMeshRequest) (*JoinMeshReply, error) - mustEmbedUnimplementedMeshCtrlServerServer() -} - -// UnimplementedMeshCtrlServerServer must be embedded to have forward compatible implementations. -type UnimplementedMeshCtrlServerServer struct { -} - -func (UnimplementedMeshCtrlServerServer) GetMesh(context.Context, *GetMeshRequest) (*GetMeshReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMesh not implemented") -} -func (UnimplementedMeshCtrlServerServer) JoinMesh(context.Context, *JoinMeshRequest) (*JoinMeshReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method JoinMesh not implemented") -} -func (UnimplementedMeshCtrlServerServer) mustEmbedUnimplementedMeshCtrlServerServer() {} - -// UnsafeMeshCtrlServerServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to MeshCtrlServerServer will -// result in compilation errors. -type UnsafeMeshCtrlServerServer interface { - mustEmbedUnimplementedMeshCtrlServerServer() -} - -func RegisterMeshCtrlServerServer(s grpc.ServiceRegistrar, srv MeshCtrlServerServer) { - s.RegisterService(&MeshCtrlServer_ServiceDesc, srv) -} - -func _MeshCtrlServer_GetMesh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMeshRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MeshCtrlServerServer).GetMesh(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rpctypes.MeshCtrlServer/GetMesh", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MeshCtrlServerServer).GetMesh(ctx, req.(*GetMeshRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _MeshCtrlServer_JoinMesh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(JoinMeshRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MeshCtrlServerServer).JoinMesh(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rpctypes.MeshCtrlServer/JoinMesh", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MeshCtrlServerServer).JoinMesh(ctx, req.(*JoinMeshRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// MeshCtrlServer_ServiceDesc is the grpc.ServiceDesc for MeshCtrlServer service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var MeshCtrlServer_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "rpctypes.MeshCtrlServer", - HandlerType: (*MeshCtrlServerServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetMesh", - Handler: _MeshCtrlServer_GetMesh_Handler, - }, - { - MethodName: "JoinMesh", - Handler: _MeshCtrlServer_JoinMesh_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "pkg/grpc/ctrlserver/ctrlserver.proto", -}