descriptor

package
v1.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2019 License: BSD-3-Clause Imports: 6 Imported by: 6,146

Documentation

Overview

Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.

These functions cannot go in package proto because they depend on the generated protobuf descriptor messages, which themselves depend on proto.

Example (Options)
package main

import (
	"fmt"

	"github.com/golang/protobuf/descriptor"
	tpb "github.com/golang/protobuf/proto/test_proto"
)

func main() {
	var msg *tpb.MyMessageSet
	_, md := descriptor.ForMessage(msg)
	if md.GetOptions().GetMessageSetWireFormat() {
		fmt.Printf("%v uses option message_set_wire_format.\n", md.GetName())
	}

}
Output:

MyMessageSet uses option message_set_wire_format.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func ForMessage

func ForMessage(msg Message) (fd *protobuf.FileDescriptorProto, md *protobuf.DescriptorProto)

ForMessage returns a FileDescriptorProto and a DescriptorProto from within it describing the given message.

Types

type Message

type Message interface {
	proto.Message
	Descriptor() ([]byte, []int)
}

Message is a proto.Message with a method to return its descriptor.

Message types generated by the protocol compiler always satisfy the Message interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL