package google.protobuf

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message DescriptorProto

descriptor.proto:92

Describes a message type.

Used in: FileDescriptorProto

message DescriptorProto.ExtensionRange

descriptor.proto:101

Used in: DescriptorProto

message DescriptorProto.ReservedRange

descriptor.proto:114

Range of reserved tag numbers. Reserved tag numbers may not be used by fields or extension ranges in the same message. Reserved ranges may not overlap.

Used in: DescriptorProto

message EnumDescriptorProto

descriptor.proto:212

Describes an enum type.

Used in: DescriptorProto, FileDescriptorProto

message EnumOptions

descriptor.proto:556

Used in: EnumDescriptorProto

message EnumValueDescriptorProto

descriptor.proto:221

Describes a value within an enum.

Used in: EnumDescriptorProto

message EnumValueOptions

descriptor.proto:577

Used in: EnumValueDescriptorProto

message FieldDescriptorProto

descriptor.proto:125

Describes a field within a message.

Used in: DescriptorProto, FileDescriptorProto

enum FieldDescriptorProto.Label

descriptor.proto:159

Used in: FieldDescriptorProto

enum FieldDescriptorProto.Type

descriptor.proto:126

Used in: FieldDescriptorProto

message FieldOptions

descriptor.proto:457

Used in: FieldDescriptorProto

enum FieldOptions.CType

descriptor.proto:463

Used in: FieldOptions

enum FieldOptions.JSType

descriptor.proto:488

Used in: FieldOptions

message FileDescriptorProto

descriptor.proto:60

Describes a complete .proto file.

Used in: FileDescriptorSet

message FileDescriptorSet

descriptor.proto:55

The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.

message FileOptions

descriptor.proto:287

Used in: FileDescriptorProto

enum FileOptions.OptimizeMode

descriptor.proto:324

Generated classes can be optimized for speed or code size.

Used in: FileOptions

message GeneratedCodeInfo

descriptor.proto:810

Describes the relationship between generated code and its original source file. A GeneratedCodeInfo message is associated with only one generated source file, but may contain references to different source .proto files.

message GeneratedCodeInfo.Annotation

descriptor.proto:814

Used in: GeneratedCodeInfo

message MessageOptions

descriptor.proto:392

Used in: DescriptorProto

message MethodDescriptorProto

descriptor.proto:237

Describes a method of a service.

Used in: ServiceDescriptorProto

message MethodOptions

descriptor.proto:611

Used in: MethodDescriptorProto

enum MethodOptions.IdempotencyLevel

descriptor.proto:627

Is this method side-effect-free (or safe in HTTP parlance), or idempotent, or neither? HTTP based RPC implementation may choose GET verb for safe methods, and PUT verb for idempotent methods instead of the default POST.

Used in: MethodOptions

message OneofDescriptorProto

descriptor.proto:206

Describes a oneof.

Used in: DescriptorProto

message OneofOptions

descriptor.proto:548

Used in: OneofDescriptorProto

message ServiceDescriptorProto

descriptor.proto:229

Describes a service.

Used in: FileDescriptorProto

message ServiceOptions

descriptor.proto:591

Used in: ServiceDescriptorProto

message SourceCodeInfo

descriptor.proto:676

Encapsulates information about the original source file from which a FileDescriptorProto was generated.

Used in: FileDescriptorProto

message SourceCodeInfo.Location

descriptor.proto:721

Used in: SourceCodeInfo

message Timestamp

timestamp.proto:121

A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # Examples Example 1: Compute Timestamp from POSIX `time()`. Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0); Example 2: Compute Timestamp from POSIX `gettimeofday()`. struct timeval tv; gettimeofday(&tv, NULL); Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000); Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. long millis = System.currentTimeMillis(); Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build(); Example 5: Compute Timestamp from current time in Python. timestamp = Timestamp() timestamp.GetCurrentTime() # JSON Mapping In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone is required, though only UTC (as indicated by "Z") is presently supported. For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on January 15, 2017. In JavaScript, one can convert a Date object to this format using the standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] method. In Python, a standard `datetime.datetime` object can be converted to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) to obtain a formatter capable of generating timestamps in this format.

Used in: common.entity.v1.EntityGroupRosterEntry, common.entity.v1.InnerPicElement, common.entity.v1.ProfilePicElement, common.entity.v1.RegistrationElement, common.groups.v1.GroupRosterEntry, mobile.groups.v1.LimitedGroupDetails

message UninterpretedOption

descriptor.proto:649

A message representing a option the parser does not recognize. This only appears in options protos created by the compiler::Parser class. DescriptorPool resolves these when building Descriptor objects. Therefore, options protos in descriptor objects (e.g. returned by Descriptor::options(), or produced by Descriptor::CopyTo()) will never have UninterpretedOptions in them.

Used in: EnumOptions, EnumValueOptions, FieldOptions, FileOptions, MessageOptions, MethodOptions, OneofOptions, ServiceOptions

message UninterpretedOption.NamePart

descriptor.proto:655

The name of the uninterpreted option. Each string represents a segment in a dot-separated name. is_extension is true iff a segment represents an extension (denoted with parentheses in options specs in .proto files). E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents "foo.(bar.baz).qux".

Used in: UninterpretedOption