From 8072423a220f165e33354e126d712f8324d3d2fb Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Mon, 25 Sep 2023 11:34:19 +0800 Subject: [PATCH] 2.2.1 --- Plugins.meta | 8 + Plugins/LC.Google.Protobuf.dll | Bin 0 -> 358912 bytes Plugins/LC.Google.Protobuf.dll.meta | 33 + Plugins/LC.Google.Protobuf.pdb | Bin 0 -> 142288 bytes Plugins/LC.Google.Protobuf.pdb.meta | 7 + Plugins/LC.Google.Protobuf.xml | 9125 +++++++++++++++++++++++++++ Plugins/LC.Google.Protobuf.xml.meta | 7 + Plugins/LiveQuery.deps.json | 111 + Plugins/LiveQuery.deps.json.meta | 7 + Plugins/LiveQuery.dll | Bin 0 -> 22016 bytes Plugins/LiveQuery.dll.meta | 33 + Plugins/LiveQuery.pdb | Bin 0 -> 12328 bytes Plugins/LiveQuery.pdb.meta | 7 + Plugins/Realtime.dll | Bin 0 -> 300032 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105872 bytes Plugins/Realtime.pdb.meta | 7 + Plugins/link.xml | 11 + Plugins/link.xml.meta | 7 + package.json | 16 + package.json.meta | 7 + 21 files changed, 9419 insertions(+) create mode 100644 Plugins.meta create mode 100644 Plugins/LC.Google.Protobuf.dll create mode 100644 Plugins/LC.Google.Protobuf.dll.meta create mode 100644 Plugins/LC.Google.Protobuf.pdb create mode 100644 Plugins/LC.Google.Protobuf.pdb.meta create mode 100644 Plugins/LC.Google.Protobuf.xml create mode 100644 Plugins/LC.Google.Protobuf.xml.meta create mode 100644 Plugins/LiveQuery.deps.json create mode 100644 Plugins/LiveQuery.deps.json.meta create mode 100644 Plugins/LiveQuery.dll create mode 100644 Plugins/LiveQuery.dll.meta create mode 100644 Plugins/LiveQuery.pdb create mode 100644 Plugins/LiveQuery.pdb.meta create mode 100644 Plugins/Realtime.dll create mode 100644 Plugins/Realtime.dll.meta create mode 100644 Plugins/Realtime.pdb create mode 100644 Plugins/Realtime.pdb.meta create mode 100644 Plugins/link.xml create mode 100644 Plugins/link.xml.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/Plugins.meta b/Plugins.meta new file mode 100644 index 0000000..d280e36 --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e66f60f0fbd574bc0b95a6cad158180e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.dll b/Plugins/LC.Google.Protobuf.dll new file mode 100644 index 0000000000000000000000000000000000000000..41208ee6e02a6dc12bd0a72afcd83a6f42c7123c GIT binary patch literal 358912 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

WT#ZF#7+q;X~vHk1-JID^P#XrpY$!srM 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

9u)-bWz?f0HNtH?K1a9Z1fl*h# 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

A2;B69DtxCaRmOmvglQ+n($-CqO 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 Paq(4U(VY0ie(nDOAyRF0 literal 0 HcmV?d00001 diff --git a/Plugins/LC.Google.Protobuf.pdb.meta b/Plugins/LC.Google.Protobuf.pdb.meta new file mode 100644 index 0000000..758093f --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 130de17deab9e481eaf97de2888db498 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LC.Google.Protobuf.xml b/Plugins/LC.Google.Protobuf.xml new file mode 100644 index 0000000..0a7b479 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml @@ -0,0 +1,9125 @@ + + + + LC.Google.Protobuf + + + +

+ Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy + + + + + The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy + + + + + Determines which copy routine to use based on the number of bytes to be copied. + + + + + Reverses the order of bytes in the array + + + + + Immutable array of bytes. + + + + + Unsafe operations that can cause IO Failure and/or other catastrophic side-effects. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + + + + + Constructs a new ByteString from the given byte array. The array is + *not* copied, and must not be modified after this constructor is called. + + + + + Returns an empty ByteString. + + + + + Returns the length of this ByteString in bytes. + + + + + Returns true if this byte string is empty, false otherwise. + + + + + Converts this into a byte array. + + The data is copied - changes to the returned array will not be reflected in this ByteString. + A byte array with the same data as this ByteString. + + + + Converts this into a standard base64 representation. + + A base64 representation of this ByteString. + + + + Constructs a from the Base64 Encoded String. + + + + + Constructs a from data in the given stream, synchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + A ByteString with content read from the given stream. + + + + Constructs a from data in the given stream, asynchronously. + + If successful, will be read completely, from the position + at the start of the call. + The stream to copy into a ByteString. + The cancellation token to use when reading from the stream, if any. + A ByteString with content read from the given stream. + + + + Constructs a from the given array. The contents + are copied, so further modifications to the array will not + be reflected in the returned ByteString. + This method can also be invoked in ByteString.CopyFrom(0xaa, 0xbb, ...) form + which is primarily useful for testing. + + + + + Constructs a from a portion of a byte array. + + + + + Creates a new by encoding the specified text with + the given encoding. + + + + + Creates a new by encoding the specified text in UTF-8. + + + + + Retuns the byte at the given index. + + + + + Converts this into a string by applying the given encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with the given encoding. + + The encoding to use to decode the binary data into text. + The result of decoding the binary data with the given decoding. + + + + Converts this into a string by applying the UTF-8 encoding. + + + This method should only be used to convert binary data which was the result of encoding + text with UTF-8. + + The result of decoding the binary data with the given decoding. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Returns an iterator over the bytes in this . + + An iterator over the bytes in this object. + + + + Creates a CodedInputStream from this ByteString's data. + + + + + Compares two byte strings for equality. + + The first byte string to compare. + The second byte string to compare. + true if the byte strings are equal; false otherwise. + + + + Compares two byte strings for inequality. + + The first byte string to compare. + The second byte string to compare. + false if the byte strings are equal; true otherwise. + + + + Compares this byte string with another object. + + The object to compare this with. + true if refers to an equal ; false otherwise. + + + + Returns a hash code for this object. Two equal byte strings + will return the same hash code. + + A hash code for this object. + + + + Compares this byte string with another. + + The to compare this with. + true if refers to an equal byte string; false otherwise. + + + + Used internally by CodedOutputStream to avoid creating a copy for the write + + + + + Copies the entire byte array to the destination array provided at the offset specified. + + + + + Writes the entire byte array to the provided stream + + + + + Reads and decodes protocol message fields. + + + + This class is generally used by generated code to read appropriate + primitives from the stream. It effectively encapsulates the lowest + levels of protocol buffer format. + + + Repeated fields and map fields are not handled by this class; use + and to serialize such fields. + + + + + + Whether to leave the underlying stream open when disposing of this stream. + This is always true when there's no stream. + + + + + Buffer of data read from the stream or provided at construction time. + + + + + The index of the buffer at which we need to refill from the stream (if there is one). + + + + + The position within the current buffer (i.e. the next byte to read) + + + + + The stream to read further input from, or null if the byte array buffer was provided + directly on construction, with no further data available. + + + + + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). + + + + + The next tag, used to store the value read by PeekTag. + + + + + The total number of bytes read before the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + + + + + The absolute position of the end of the current message. + + + + + Creates a new CodedInputStream reading data from the given byte array. + + + + + Creates a new that reads from the given byte array slice. + + + + + Creates a new reading data from the given stream, which will be disposed + when the returned object is disposed. + + The stream to read from. + + + + Creates a new reading data from the given stream. + + The stream to read from. + true to leave open when the returned + is disposed; false to dispose of the given stream when the + returned object is disposed. + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the default limits. + + + + + Creates a new CodedInputStream reading data from the given + stream and buffer, using the specified limits. + + + This chains to the version with the default limits instead of vice versa to avoid + having to check that the default values are valid every time. + + + + + Creates a with the specified size and recursion limits, reading + from an input stream. + + + This method exists separately from the constructor to reduce the number of constructor overloads. + It is likely to be used considerably less frequently than the constructors, as the default limits + are suitable for most use cases. + + The input stream to read from + The total limit of data to read from the stream. + The maximum recursion depth to allow while reading. + A CodedInputStream reading from with the specified size + and recursion limits. + + + + Returns the current position in the input stream, or the position in the input buffer + + + + + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the stream. + + + + + Returns the size limit for this stream. + + + This limit is applied when reading from the underlying stream, as a sanity check. It is + not applied when reading from a byte array data source without an underlying stream. + The default value is Int32.MaxValue. + + + The size limit. + + + + + Returns the recursion limit for this stream. This limit is applied whilst reading messages, + to avoid maliciously-recursive data. + + + The default limit is 100. + + + The recursion limit for this stream. + + + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + + + + Disposes of this instance, potentially closing any underlying stream. + + + As there is no flushing to perform here, disposing of a which + was constructed with the leaveOpen option parameter set to true (or one which + was constructed to read from a byte array) has no effect. + + + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified + + + + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) + + + + + Reads a field tag, returning the tag of 0 for "end of stream". + + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputStream; it may be the end of the logical stream + for an embedded message, for example. + + The next field tag, or 0 for end of stream. (0 is never a valid tag.) + + + + Skips the data for the field with the tag we've just read. + This should be called directly after , when + the caller wishes to skip an unknown field. + + + This method throws if the last-read tag was an end-group tag. + If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the + start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly + resulting in an error if an end-group tag has not been paired with an earlier start-group tag. + + The last tag was an end-group tag + The last read operation read to the end of the logical stream + + + + Skip a group. + + + + + Reads a double field from the stream. + + + + + Reads a float field from the stream. + + + + + Reads a uint64 field from the stream. + + + + + Reads an int64 field from the stream. + + + + + Reads an int32 field from the stream. + + + + + Reads a fixed64 field from the stream. + + + + + Reads a fixed32 field from the stream. + + + + + Reads a bool field from the stream. + + + + + Reads a string field from the stream. + + + + + Reads an embedded message field value from the stream. + + + + + Reads an embedded group field from the stream. + + + + + Reads an embedded group unknown field from the stream. + + + + + Reads a bytes field value from the stream. + + + + + Reads a uint32 field value from the stream. + + + + + Reads an enum field value from the stream. + + + + + Reads an sfixed32 field value from the stream. + + + + + Reads an sfixed64 field value from the stream. + + + + + Reads an sint32 field value from the stream. + + + + + Reads an sint64 field value from the stream. + + + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + + + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + + + + + Same code as ReadRawVarint32, but read each byte individually, checking for + buffer overflow. + + + + + Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. + + + + + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + + + + + + Reads a raw varint from the stream. + + + + + Reads a 32-bit little-endian integer from the stream. + + + + + Reads a 64-bit little-endian integer from the stream. + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + + + + Called when buffer is empty to read more bytes from the + input. If is true, RefillBuffer() gurantees that + either there will be at least one byte in the buffer when it returns + or it will throw an exception. If is false, + RefillBuffer() returns false if no more bytes were available. + + + + + + + Read one byte from the input. + + + the end of the stream or the current limit was reached + + + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + + + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached + + + + Abstraction of skipping to cope with streams which can't really skip. + + + + + Encodes and writes protocol message fields. + + + + This class is generally used by generated code to write appropriate + primitives to the stream. It effectively encapsulates the lowest + levels of protocol buffer format. Unlike some other implementations, + this does not include combined "write tag and value" methods. Generated + code knows the exact byte representations of the tags they're going to write, + so there's no need to re-encode them each time. Manually-written code calling + this class should just call one of the WriteTag overloads before each value. + + + Repeated fields and map fields are not handled by this class; use RepeatedField<T> + and MapField<TKey, TValue> to serialize such fields. + + + + + + Computes the number of bytes that would be needed to encode a + double field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + float field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + int32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + fixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bool field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + string field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + group field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + embedded message field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + bytes field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + uint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a + enum field, including the tag. The caller is responsible for + converting the enum value to its numeric value. + + + + + Computes the number of bytes that would be needed to encode an + sfixed32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sfixed64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint32 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode an + sint64 field, including the tag. + + + + + Computes the number of bytes that would be needed to encode a length, + as written by . + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a varint. + + + + + Computes the number of bytes that would be needed to encode a tag. + + + + + The buffer size used by CreateInstance(Stream). + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new CodedOutputStream that writes directly to the given + byte array slice. If more bytes are written than fit in the array, + OutOfSpaceException will be thrown. + + + + + Creates a new which write to the given stream, and disposes of that + stream when the returned CodedOutputStream is disposed. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. It will be disposed when the returned CodedOutputStream is disposed. + The size of buffer to use internally. + + + + Creates a new CodedOutputStream which write to the given stream. + + The stream to write to. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Creates a new CodedOutputStream which write to the given stream and uses + the specified buffer size. + + The stream to write to. + The size of buffer to use internally. + If true, is left open when the returned CodedOutputStream is disposed; + if false, the provided stream is disposed as well. + + + + Returns the current position in the stream, or the position in the output buffer + + + + + Writes a double field value, without a tag, to the stream. + + The value to write + + + + Writes a float field value, without a tag, to the stream. + + The value to write + + + + Writes a uint64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int64 field value, without a tag, to the stream. + + The value to write + + + + Writes an int32 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed64 field value, without a tag, to the stream. + + The value to write + + + + Writes a fixed32 field value, without a tag, to the stream. + + The value to write + + + + Writes a bool field value, without a tag, to the stream. + + The value to write + + + + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a message, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a group, without a tag, to the stream. + + The value to write + + + + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + + The value to write + + + + Writes a uint32 value, without a tag, to the stream. + + The value to write + + + + Writes an enum value, without a tag, to the stream. + + The value to write + + + + Writes an sfixed32 value, without a tag, to the stream. + + The value to write. + + + + Writes an sfixed64 value, without a tag, to the stream. + + The value to write + + + + Writes an sint32 value, without a tag, to the stream. + + The value to write + + + + Writes an sint64 value, without a tag, to the stream. + + The value to write + + + + Writes a length (in bytes) for length-delimited data. + + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. + + + + Encodes and writes a tag. + + The number of the field to write the tag for + The wire format type of the tag to write + + + + Writes an already-encoded tag. + + The encoded tag + + + + Writes the given single-byte tag directly to the stream. + + The encoded tag + + + + Writes the given two-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + + + + Writes the given three-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + + + + Writes the given four-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + + + + Writes the given five-byte tag directly to the stream. + + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag + + + + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. + + + + + Writes out an array of bytes. + + + + + Writes out part of an array of bytes. + + + + + Encode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Encode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + + + + + Indicates that a CodedOutputStream wrapping a flat byte array + ran out of space. + + + + + Flushes any buffered data and optionally closes the underlying stream, if any. + + + + By default, any underlying stream is closed by this method. To configure this behaviour, + use a constructor overload with a leaveOpen parameter. If this instance does not + have an underlying stream, this method does nothing. + + + For the sake of efficiency, calling this method does not prevent future write calls - but + if a later write ends up writing to a stream which has been disposed, that is likely to + fail. It is recommend that you not call any other methods after this. + + + + + + Flushes any buffered data to the underlying stream (if there is one). + + + + + Verifies that SpaceLeft returns zero. It's common to create a byte array + that is exactly big enough to hold a message, then write to it with + a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that + the message was actually as big as expected, which can help bugs. + + + + + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. + + + + + Utility to compare if two Lists are the same, and the hash code + of a List. + + + + + Checks if two lists are equal. + + + + + Gets the list's hash code. + + + + + Representation of a map field in a Protocol Buffer message. + + Key type in the map. Must be a type supported by Protocol Buffer map keys. + Value type in the map. Must be a type supported by Protocol Buffers. + + + For string keys, the equality comparison is provided by . + + + Null values are not permitted in the map, either for wrapper types or regular messages. + If a map is deserialized from a data stream and the value is missing from an entry, a default value + is created instead. For primitive types, that is the regular default value (0, the empty string and so + on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length + encoded value for the field. + + + This implementation does not generally prohibit the use of key/value types which are not + supported by Protocol Buffers (e.g. using a key type of byte) but nor does it guarantee + that all operations will work in such cases. + + + The order in which entries are returned when iterating over this object is undefined, and may change + in future versions. + + + + + + Creates a deep clone of this object. + + + A deep clone of this object. + + + + + Adds the specified key/value pair to the map. + + + This operation fails if the key already exists in the map. To replace an existing entry, use the indexer. + + The key to add + The value to add. + The given key already exists in map. + + + + Determines whether the specified key is present in the map. + + The key to check. + true if the map contains the given key; false otherwise. + + + + Removes the entry identified by the given key from the map. + + The key indicating the entry to remove from the map. + true if the map contained the given key before the entry was removed; false otherwise. + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; + otherwise, the default value for the type of the parameter. + This parameter is passed uninitialized. + true if the map contains an element with the specified key; otherwise, false. + + + + Gets or sets the value associated with the specified key. + + The key of the value to get or set. + The property is retrieved and key does not exist in the collection. + The value associated with the specified key. If the specified key is not found, + a get operation throws a , and a set operation creates a new element with the specified key. + + + + Gets a collection containing the keys in the map. + + + + + Gets a collection containing the values in the map. + + + + + Adds the specified entries to the map. The keys and values are not automatically cloned. + + The entries to add to the map. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Adds the specified item to the map. + + The item to add to the map. + + + + Removes all items from the map. + + + + + Determines whether map contains an entry equivalent to the given key/value pair. + + The key/value pair to find. + + + + + Copies the key/value pairs in this map to an array. + + The array to copy the entries into. + The index of the array at which to start copying values. + + + + Removes the specified key/value pair from the map. + + Both the key and the value must be found for the entry to be removed. + The key/value pair to remove. + true if the key/value pair was found and removed; false otherwise. + + + + Gets the number of elements contained in the map. + + + + + Gets a value indicating whether the map is read-only. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this map with another for equality. + + + The order of the key/value pairs in the maps is not deemed significant in this comparison. + + The map to compare this with. + true if refers to an equal map; false otherwise. + + + + Adds entries to the map from the given stream. + + + It is assumed that the stream is initially positioned after the tag specified by the codec. + This method will continue reading entries from the stream until the end is reached, or + a different tag is encountered. + + Stream to read from + Codec describing how the key/value pairs are encoded + + + + Writes the contents of this map to the given coded output stream, using the specified codec + to encode each entry. + + The output stream to write to. + The codec to use for each entry. + + + + Calculates the size of this map based on the given entry codec. + + The codec to use to encode each entry. + + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + A codec for a specific map field. This contains all the information required to encode and + decode the nested messages. + + + + + Creates a new entry codec based on a separate key codec and value codec, + and the tag to use for each map entry. + + The key codec. + The value codec. + The map tag to use to introduce each map entry. + + + + The tag used in the enclosing message to indicate map entries. + + + + + A mutable message class, used for parsing and serializing. This + delegates the work to a codec, but implements the interface + for interop with and . + This is nested inside Codec as it's tightly coupled to the associated codec, + and it's simpler if it has direct access to all its fields. + + + + + Provides a central place to implement equality comparisons, primarily for bitwise float/double equality. + + + + + Returns an equality comparer for suitable for Protobuf equality comparisons. + This is usually just the default equality comparer for the type, but floating point numbers are compared + bitwise. + + The type of equality comparer to return. + The equality comparer. + + + + Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison. + (NaN values are considered equal, but only when they have the same representation.) + + + + + Read-only wrapper around another dictionary. + + + + + The contents of a repeated field: essentially, a collection with some extra + restrictions (no null values) and capabilities (deep cloning). + + + This implementation does not generally prohibit the use of types which are not + supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases. + + The element type of the repeated field. + + + + Creates a deep clone of this repeated field. + + + If the field type is + a message type, each element is also cloned; otherwise, it is + assumed that the field type is primitive (including string and + bytes, both of which are immutable) and so a simple copy is + equivalent to a deep clone. + + A deep clone of this repeated field. + + + + Adds the entries from the given input stream, decoding them with the specified codec. + + The input stream to read from. + The codec to use in order to read each entry. + + + + Calculates the size of this collection based on the given codec. + + The codec to use when encoding each field. + The number of bytes that would be written to a by , + using the same codec. + + + + Writes the contents of this collection to the given , + encoding each value using the specified codec. + + The output stream to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + + + + Adds the specified item to the collection. + + The item to add. + + + + Removes all items from the collection. + + + + + Determines whether this collection contains the given item. + + The item to find. + true if this collection contains the given item; false otherwise. + + + + Copies this collection to the given array. + + The array to copy to. + The first index of the array to copy to. + + + + Removes the specified item from the collection + + The item to remove. + true if the item was found and removed; false otherwise. + + + + Gets the number of elements contained in the collection. + + + + + Gets a value indicating whether the collection is read-only. + + + + + Adds all of the specified values into this collection. + + The values to add to this collection. + + + + Adds all of the specified values into this collection. This method is present to + allow repeated fields to be constructed from queries within collection initializers. + Within non-collection-initializer code, consider using the equivalent + method instead for clarity. + + The values to add to this collection. + + + + Returns an enumerator that iterates through the collection. + + + An enumerator that can be used to iterate through the collection. + + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Compares this repeated field with another for equality. + + The repeated field to compare this with. + true if refers to an equal repeated field; false otherwise. + + + + Returns the index of the given item within the collection, or -1 if the item is not + present. + + The item to find in the collection. + The zero-based index of the item, or -1 if it is not found. + + + + Inserts the given item at the specified index. + + The index at which to insert the item. + The item to insert. + + + + Removes the item at the given index. + + The zero-based index of the item to remove. + + + + Returns a string representation of this repeated field, in the same + way as it would be represented by the default JSON formatter. + + + + + Gets or sets the item at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + The item at the specified index. + + + + Extension methods for , effectively providing + the familiar members from previous desktop framework versions while + targeting the newer releases, .NET Core etc. + + + + + Returns the public getter of a property, or null if there is no such getter + (either because it's read-only, or the getter isn't public). + + + + + Returns the public setter of a property, or null if there is no such setter + (either because it's write-only, or the setter isn't public). + + + + + Provides extension methods on Type that just proxy to TypeInfo. + These are used to support the new type system from .NET 4.5, without + having calls to GetTypeInfo all over the place. While the methods here are meant to be + broadly compatible with the desktop framework, there are some subtle differences in behaviour - but + they're not expected to affect our use cases. While the class is internal, that should be fine: we can + evaluate each new use appropriately. + + + + + See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom + + + + + Returns a representation of the public property associated with the given name in the given type, + including inherited properties or null if there is no such public property. + Here, "public property" means a property where either the getter, or the setter, or both, is public. + + + + + Returns a representation of the public method associated with the given name in the given type, + including inherited methods. + + + This has a few differences compared with Type.GetMethod in the desktop framework. It will throw + if there is an ambiguous match even between a private method and a public one, but it *won't* throw + if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and + class Child : Base declares public void Foo(long)). + + One type in the hierarchy declared more than one method with the same name + + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Factory methods for . + + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + A codec for the given tag. + + + + Retrieves a codec suitable for a string field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bytes field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. + The end group tag. + A parser to use for the group message type. + A codec for given tag + + + + Creates a codec for a wrapper type of a class - which must be string or ByteString. + + + + + Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64, + Bool, Single or Double. + + + + + Helper code to create codecs for wrapper types. + + + Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it + slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place, + we can refactor later if we come up with something cleaner. + + + + + Returns a field codec which effectively wraps a value of type T in a message. + + + + + + + An encode/decode pair for a single field. This effectively encapsulates + all the information needed to read or write the field value from/to a coded + stream. + + + This class is public and has to be as it is used by generated code, but its public + API is very limited - just what the generated code needs to call directly. + + + + This never writes default values to the stream, and does not address "packedness" + in repeated fields itself, other than to know whether or not the field *should* be packed. + + + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + + + + Returns a delegate to write a value (unconditionally) to a coded output stream. + + + + + Returns the size calculator for just a value. + + + + + Returns a delegate to read a value from a coded input stream. It is assumed that + the stream is already positioned on the appropriate tag. + + + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + + + + Returns the fixed size for an entry, or 0 if sizes vary. + + + + + Gets the tag of the codec. + + + The tag of the codec. + + + + + Gets the end tag of the codec or 0 if there is no end tag + + + The end tag of the codec. + + + + + Default value for this codec. Usually the same for every instance of the same type, but + for string/ByteString wrapper fields the codec's default value is null, whereas for + other string/ByteString fields it's "" or ByteString.Empty. + + + The default value of the codec's type. + + + + + Write a tag and the given value, *if* the value is not the default. + + + + + Reads a value of the codec type from the given . + + The input stream to read from. + The value read from the stream. + + + + Calculates the size required to write the given value, with a tag, + if the value is not the default. + + + + + A tree representation of a FieldMask. Each leaf node in this tree represent + a field path in the FieldMask. + + For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be: + + [root] -+- foo -+- bar + | | + | +- baz + | + +- bar --- baz + + + By representing FieldMasks with this tree structure we can easily convert + a FieldMask to a canonical form, merge two FieldMasks, calculate the + intersection to two FieldMasks and traverse all fields specified by the + FieldMask in a message tree. + + + + + Creates an empty FieldMaskTree. + + + + + Creates a FieldMaskTree for a given FieldMask. + + + + + Adds a field path to the tree. In a FieldMask, every field path matches the + specified field as well as all its sub-fields. For example, a field path + "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding + a field path to the tree, redundant sub-paths will be removed. That is, + after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it + exists, which will turn the tree node for "foo.bar" to a leaf node. + Likewise, if the field path to add is a sub-path of an existing leaf node, + nothing will be changed in the tree. + + + + + Merges all field paths in a FieldMask into this tree. + + + + + Converts this tree to a FieldMask. + + + + + Gathers all field paths in a sub-tree. + + + + + Adds the intersection of this tree with the given to . + + + + + Merges all fields specified by this FieldMaskTree from to . + + + + + Merges all fields specified by a sub-tree from to . + + + + + Class containing helpful workarounds for various platform compatibility + + + + + A message type that has a custom string format for diagnostic purposes. + + + + Calling on a generated message type normally + returns the JSON representation. If a message type implements this interface, + then the method will be called instead of the regular + JSON formatting code, but only when ToString() is called either on the message itself + or on another message which contains it. This does not affect the normal JSON formatting of + the message. + + + For example, if you create a proto message representing a GUID, the internal + representation may be a bytes field or four fixed32 fields. However, when debugging + it may be more convenient to see a result in the same format as provides. + + This interface extends to avoid it accidentally being implemented + on types other than messages, where it would not be used by anything in the framework. + + + + + Returns a string representation of this object, for diagnostic purposes. + + + This method is called when a message is formatted as part of a + call. It does not affect the JSON representation used by other than + in calls to . While it is recommended + that the result is valid JSON, this is never assumed by the Protobuf library. + + A string representation of this object, for diagnostic purposes. + + + + Generic interface for a deeply cloneable type. + + + + All generated messages implement this interface, but so do some non-message types. + Additionally, due to the type constraint on T in , + it is simpler to keep this as a separate interface. + + + The type itself, returned by the method. + + + + Creates a deep clone of this object. + + A deep clone of this object. + + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + + + + Interface for a Protocol Buffers message, supporting + basic operations required for serialization. + + + + + Merges the data from the specified coded input stream with the current message. + + See the user guide for precise merge semantics. + + + + + Writes the data to the given coded output stream. + + Coded output stream to write the data to. Must not be null. + + + + Calculates the size of this message in Protocol Buffer wire format, in bytes. + + The number of bytes required to write this message + to a coded output stream. + + + + Descriptor for this message. All instances are expected to return the same descriptor, + and for generated types this will be an explicitly-implemented member, returning the + same value as the static property declared on the type. + + + + + Generic interface for a Protocol Buffers message, + where the type parameter is expected to be the same type as + the implementation class. + + The message type. + + + + Merges the given message into this one. + + See the user guide for precise merge semantics. + The message to merge with this one. Must not be null. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. Parsing a protocol buffer + message represented in JSON using can throw both this + exception and depending on the situation. This + exception is only thrown for "pure JSON" errors, whereas InvalidProtocolBufferException + is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer + message. + + + + + Thrown when a protocol message being parsed is invalid in some way, + e.g. it contains a malformed varint or a negative byte length. + + + + + Creates an exception for an error condition of an invalid tag being encountered. + + + + + Reflection-based converter from messages to JSON. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON formatting working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Formats the specified message as JSON. + + The message to format. + The formatted message. + + + + Formats the specified message as JSON. + + The message to format. + The TextWriter to write the formatted message to. + The formatted message. + + + + Converts a message to JSON for diagnostic purposes with no extra context. + + + + This differs from calling on the default JSON + formatter in its handling of . As no type registry is available + in calls, the normal way of resolving the type of + an Any message cannot be applied. Instead, a JSON property named @value + is included with the base64 data from the property of the message. + + The value returned by this method is only designed to be used for diagnostic + purposes. It may not be parsable by , and may not be parsable + by other Protocol Buffer implementations. + + The message to format for diagnostic purposes. + The diagnostic-only JSON representation of the message + + + + Writes a single value to the given writer as JSON. Only types understood by + Protocol Buffers can be written in this way. This method is only exposed for + advanced use cases; most users should be using + or . + + The writer to write the value to. Must not be null. + The value to write. May be null. + + + + Central interception point for well-known type formatting. Any well-known types which + don't need special handling can fall back to WriteMessage. We avoid assuming that the + values are using the embedded well-known types, in order to allow for dynamic messages + in the future. + + + + + Writes a string (including leading and trailing double quotes) to a builder, escaping as required. + + + Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc. + + + + + Settings controlling JSON formatting. + + + + + Default settings, as used by + + + + + Whether fields whose values are the default for the field type (e.g. 0 for integers) + should be formatted (true) or omitted (false). + + + + + The type registry used to format messages. + + + + + Whether to format enums as ints. Defaults to false. + + + + + Creates a new object with the specified formatting of default values + and an empty type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified formatting of default values + and type registry. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. + + + + Creates a new object with the specified parameters. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + The to use when formatting messages. TypeRegistry.Empty will be used if it is null. + true to format the enums as integers; false to format enums as enum names. + + + + Creates a new object with the specified formatting of default values and the current settings. + + true if default values (0, empty strings etc) should be formatted; false otherwise. + + + + Creates a new object with the specified type registry and the current settings. + + The to use when formatting messages. + + + + Creates a new object with the specified enums formatting option and the current settings. + + true to format the enums as integers; false to format enums as enum names. + + + + Reflection-based converter from JSON to messages. + + + + Instances of this class are thread-safe, with no mutable state. + + + This is a simple start to get JSON parsing working. As it's reflection-based, + it's not as quick as baking calls into generated messages - but is a simpler implementation. + (This code is generally not heavily optimized.) + + + + + + Returns a formatter using the default settings. + + + + + Creates a new formatted with the given settings. + + The settings. + + + + Parses and merges the information into the given message. + + The message to merge the JSON information into. + The JSON to parse. + + + + Parses JSON read from and merges the information into the given message. + + The message to merge the JSON information into. + Reader providing the JSON to parse. + + + + Merges the given message using data from the given tokenizer. In most cases, the next + token should be a "start object" token, but wrapper types and nullity can invalidate + that assumption. This is implemented as an LL(1) recursive descent parser over the stream + of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the + tokenizer performing that validation - but not every token stream is valid "protobuf JSON". + + + + + Parses into a new message. + + The type of message to create. + The JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + The type of message to create. + Reader providing the JSON to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses into a new message. + + The JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Parses JSON read from into a new message. + + Reader providing the JSON to parse. + Descriptor of message type to parse. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new instance of the message type for the given field. + + + + + Checks that any infinite/NaN values originated from the correct text. + This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the + way that Mono parses out-of-range values as infinity. + + + + + Settings controlling JSON parsing. + + + + + Default settings, as used by . This has the same default + recursion limit as , and an empty type registry. + + + + + The maximum depth of messages to parse. Note that this limit only applies to parsing + messages, not collections - so a message within a collection within a message only counts as + depth 2, not 3. + + + + + The type registry used to parse messages. + + + + + Whether the parser should ignore unknown fields (true) or throw an exception when + they are encountered (false). + + + + + Creates a new object with the specified recursion limit. + + The maximum depth of messages to parse + + + + Creates a new object with the specified recursion limit and type registry. + + The maximum depth of messages to parse + The type registry used to parse messages + + + + Creates a new object set to either ignore unknown fields, or throw an exception + when unknown fields are encountered. + + true if unknown fields should be ignored when parsing; false to throw an exception. + + + + Creates a new object based on this one, but with the specified recursion limit. + + The new recursion limit. + + + + Creates a new object based on this one, but with the specified type registry. + + The new type registry. Must not be null. + + + + Simple but strict JSON tokenizer, rigidly following RFC 7159. + + + + This tokenizer is stateful, and only returns "useful" tokens - names, values etc. + It does not create tokens for the separator between names and values, or for the comma + between values. It validates the token stream as it goes - so callers can assume that the + tokens it produces are appropriate. For example, it would never produce "start object, end array." + + Implementation details: the base class handles single token push-back and + Not thread-safe. + + + + + Creates a tokenizer that reads from the given text reader. + + + + + Creates a tokenizer that first replays the given list of tokens, then continues reading + from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back + on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was + created for the sake of Any parsing. + + + + + Returns the depth of the stack, purely in objects (not collections). + Informally, this is the number of remaining unclosed '{' characters we have. + + + + + Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream, + after which point Next() should not be called again. + + This implementation provides single-token buffering, and calls if there is no buffered token. + The next token in the stream. This is never null. + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Returns the next JSON token in the stream, when requested by the base class. (The method delegates + to this if it doesn't have a buffered token.) + + This method is called after an EndDocument token has been returned + The input text does not comply with RFC 7159 + + + + Skips the value we're about to read. This must only be called immediately after reading a property name. + If the value is an object or an array, the complete object/array is skipped. + + + + + Tokenizer which first exhausts a list of tokens, then consults another tokenizer. + + + + + Tokenizer which does all the *real* work of parsing JSON. + + + + + This method essentially just loops through characters skipping whitespace, validating and + changing state (e.g. from ObjectBeforeColon to ObjectAfterColon) + until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point + it returns the token. Although the method is large, it would be relatively hard to break down further... most + of it is the large switch statement, which sometimes returns and sometimes doesn't. + + + + + Reads a string token. It is assumed that the opening " has already been read. + + + + + Reads an escaped character. It is assumed that the leading backslash has already been read. + + + + + Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read. + + + + + Consumes a text-only literal, throwing an exception if the read text doesn't match it. + It is assumed that the first letter of the literal has already been read. + + + + + Validates that we're in a valid state to read a value (using the given error prefix if necessary) + and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty. + + + + + Pops the top-most container, and sets the state to the appropriate one for the end of a value + in the parent container. + + + + + Possible states of the tokenizer. + + + This is a flags enum purely so we can simply and efficiently represent a set of valid states + for checking. + + Each is documented with an example, + where ^ represents the current position within the text stream. The examples all use string values, + but could be any value, including nested objects/arrays. + The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects). + Any additional notional state of "AfterValue" indicates that a value has been completed, at which + point there's an immediate transition to ExpectedEndOfDocument, ObjectAfterProperty or ArrayAfterValue. + + + These states were derived manually by reading RFC 7159 carefully. + + + + + + ^ { "foo": "bar" } + Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue" + + + + + { "foo": "bar" } ^ + After the value in a document. Next states: ReaderExhausted + + + + + { "foo": "bar" } ^ (and already read to the end of the reader) + Terminal state. + + + + + { ^ "foo": "bar" } + Before the *first* property in an object. + Next states: + "AfterValue" (empty object) + ObjectBeforeColon (read a name) + + + + + { "foo" ^ : "bar", "x": "y" } + Next state: ObjectAfterColon + + + + + { "foo" : ^ "bar", "x": "y" } + Before any property other than the first in an object. + (Equivalently: after any property in an object) + Next states: + "AfterValue" (value is simple) + ObjectStart (value is object) + ArrayStart (value is array) + + + + + { "foo" : "bar" ^ , "x" : "y" } + At the end of a property, so expecting either a comma or end-of-object + Next states: ObjectAfterComma or "AfterValue" + + + + + { "foo":"bar", ^ "x":"y" } + Read the comma after the previous property, so expecting another property. + This is like ObjectStart, but closing brace isn't valid here + Next state: ObjectBeforeColon. + + + + + [ ^ "foo", "bar" ] + Before the *first* value in an array. + Next states: + "AfterValue" (read a value) + "AfterValue" (end of array; will pop stack) + + + + + [ "foo" ^ , "bar" ] + After any value in an array, so expecting either a comma or end-of-array + Next states: ArrayAfterComma or "AfterValue" + + + + + [ "foo", ^ "bar" ] + After a comma in an array, so there *must* be another value (simple or complex). + Next states: "AfterValue" (simple value), StartObject, StartArray + + + + + Wrapper around a text reader allowing small amounts of buffering and location handling. + + + + + The buffered next character, if we have one. + + + + + Returns the next character in the stream, or null if we have reached the end. + + + + + + Creates a new exception appropriate for the current state of the reader. + + + + + Stream implementation which proxies another stream, only allowing a certain amount + of data to be read. Note that this is only used to read delimited streams, so it + doesn't attempt to implement everything. + + + + + Extension methods on and . + + + + + Merges data from the given byte array into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given byte array slice into an existing message. + + The message to merge the data into. + The data containing the slice to merge, which must be protobuf-encoded binary data. + The offset of the slice to merge. + The length of the slice to merge. + + + + Merges data from the given byte string into an existing message. + + The message to merge the data into. + The data to merge, which must be protobuf-encoded binary data. + + + + Merges data from the given stream into an existing message. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Merges length-delimited data from the given stream into an existing message. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The message to merge the data into. + Stream containing the data to merge, which must be protobuf-encoded binary data. + + + + Converts the given message into a byte array in protobuf encoding. + + The message to convert. + The message data as a byte array. + + + + Writes the given message data to the given stream in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the length and then data of the given message to a stream. + + The message to write. + The output stream to write to. + + + + Converts the given message into a byte string in protobuf encoding. + + The message to convert. + The message data as a byte string. + + + + Checks if all required fields in a message have values set. For proto3 messages, this returns true + + + + + A general message parser, typically used by reflection-based code as all the methods + return simple . + + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + A parser for a specific message type. + + +

+ This delegates most behavior to the + implementation within the original type, but + provides convenient overloads to parse from a variety of sources. +

+

+ Most applications will never need to create their own instances of this type; + instead, use the static Parser property of a generated message type to obtain a + parser for that type. +

+
+ The type of message to be parsed. +
+ + + Creates a new parser. + + + The factory method is effectively an optimization over using a generic constraint + to require a parameterless constructor: delegates are significantly faster to execute. + + Function to invoke when a new, empty message is required. + + + + Creates a template instance ready for population. + + An empty message. + + + + Parses a message from a byte array. + + The byte array containing the message. Must not be null. + The newly parsed message. + + + + Parses a message from a byte array slice. + + The byte array containing the message. Must not be null. + The offset of the slice to parse. + The length of the slice to parse. + The newly parsed message. + + + + Parses a message from the given byte string. + + The data to parse. + The parsed message. + + + + Parses a message from the given stream. + + The stream to parse. + The parsed message. + + + + Parses a length-delimited message from the given stream. + + + The stream is expected to contain a length and then the data. Only the amount of data + specified by the length will be consumed. + + The stream to parse. + The parsed message. + + + + Parses a message from the given coded input stream. + + The stream to parse. + The parsed message. + + + + Parses a message from the given JSON. + + The JSON to parse. + The parsed message. + The JSON does not comply with RFC 7159 + The JSON does not represent a Protocol Buffers message correctly + + + + Creates a new message parser which optionally discards unknown fields when parsing. + + Whether or not to discard unknown fields when parsing. + A newly configured message parser. + + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + + + + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. + + + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + + + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + + + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves an unsigned 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a bytes value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. + + + Holder for reflection information generated from google/protobuf/descriptor.proto + + + File descriptor for google/protobuf/descriptor.proto + + + + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. + + + + Field number for the "file" field. + + + + Describes a complete .proto file. + + + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + 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. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "label" field. + + + Gets whether the "label" field is set + + + Clears the value of the "label" field + + + Field number for the "type" field. + + + + If type_name is set, this need not be set. If both this and type_name + are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + + + + Gets whether the "type" field is set + + + Clears the value of the "type" field + + + Field number for the "type_name" field. + + + + For message and enum types, this is the name of the type. If the name + starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + rules are used to find the type (i.e. first the nested types within this + message are searched, then within the parent, on up to the root + namespace). + + + + Gets whether the "type_name" field is set + + + Clears the value of the "type_name" field + + + Field number for the "extendee" field. + + + + For extensions, this is the name of the type being extended. It is + resolved in the same manner as type_name. + + + + Gets whether the "extendee" field is set + + + Clears the value of the "extendee" field + + + Field number for the "default_value" field. + + + + For numeric types, contains the original text representation of the value. + For booleans, "true" or "false". + For strings, contains the default text contents (not escaped in any way). + For bytes, contains the C escaped value. All bytes >= 128 are escaped. + TODO(kenton): Base-64 encode? + + + + Gets whether the "default_value" field is set + + + Clears the value of the "default_value" field + + + Field number for the "oneof_index" field. + + + + If set, gives the index of a oneof in the containing type's oneof_decl + list. This field is a member of that oneof. + + + + Gets whether the "oneof_index" field is set + + + Clears the value of the "oneof_index" field + + + Field number for the "json_name" field. + + + + JSON name of this field. The value is set by protocol compiler. If the + user has set a "json_name" option on this field, that option's value + will be used. Otherwise, it's deduced from the field's name by converting + it to camelCase. + + + + Gets whether the "json_name" field is set + + + Clears the value of the "json_name" field + + + Field number for the "options" field. + + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set + + + Clears the value of the "proto3_optional" field + + + Container for nested types declared in the FieldDescriptorProto message type. + + + + 0 is reserved for errors. + Order is weird for historical reasons. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + negative values are likely. + + + + + Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + negative values are likely. + + + + + Tag-delimited aggregate. + Group type is deprecated and not supported in proto3. However, Proto3 + implementations should still be able to parse the group wire format and + treat group fields as unknown fields. + + + + + Length-delimited aggregate. + + + + + New in version 2. + + + + + Uses ZigZag encoding. + + + + + Uses ZigZag encoding. + + + + + 0 is reserved for errors + + + + + Describes a oneof. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "options" field. + + + + Describes an enum type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "value" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + + Range of reserved numeric values. Reserved numeric values may not be used + by enum values in the same enum declaration. Reserved ranges may not + overlap. + + + + Field number for the "reserved_name" field. + + + + Reserved enum value names, which may not be reused. A given name may only + be reserved once. + + + + Container for nested types declared in the EnumDescriptorProto message type. + + + + Range of reserved numeric values. Reserved values may not be used by + entries in the same enum. Reserved ranges may not overlap. + + Note that this is distinct from DescriptorProto.ReservedRange in that it + is inclusive such that it can appropriately represent the entire int32 + domain. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Inclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Describes a value within an enum. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "number" field. + + + Gets whether the "number" field is set + + + Clears the value of the "number" field + + + Field number for the "options" field. + + + + Describes a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "method" field. + + + Field number for the "options" field. + + + + Describes a method of a service. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "input_type" field. + + + + Input and output type names. These are resolved in the same way as + FieldDescriptorProto.type_name, but must refer to a message type. + + + + Gets whether the "input_type" field is set + + + Clears the value of the "input_type" field + + + Field number for the "output_type" field. + + + Gets whether the "output_type" field is set + + + Clears the value of the "output_type" field + + + Field number for the "options" field. + + + Field number for the "client_streaming" field. + + + + Identifies if client streams multiple client messages + + + + Gets whether the "client_streaming" field is set + + + Clears the value of the "client_streaming" field + + + Field number for the "server_streaming" field. + + + + Identifies if server streams multiple server messages + + + + Gets whether the "server_streaming" field is set + + + Clears the value of the "server_streaming" field + + + Field number for the "java_package" field. + + + + Sets the Java package where classes generated from this .proto will be + placed. By default, the proto package is used, but this is often + inappropriate because proto packages do not normally start with backwards + domain names. + + + + Gets whether the "java_package" field is set + + + Clears the value of the "java_package" field + + + Field number for the "java_outer_classname" field. + + + + If set, all the classes from the .proto file are wrapped in a single + outer class with the given name. This applies to both Proto1 + (equivalent to the old "--one_java_file" option) and Proto2 (where + a .proto always translates to a single class, but you may want to + explicitly choose the class name). + + + + Gets whether the "java_outer_classname" field is set + + + Clears the value of the "java_outer_classname" field + + + Field number for the "java_multiple_files" field. + + + + If set true, then the Java code generator will generate a separate .java + file for each top-level message, enum, and service defined in the .proto + file. Thus, these types will *not* be nested inside the outer class + named by java_outer_classname. However, the outer class will still be + generated to contain the file's getDescriptor() method as well as any + top-level extensions defined in the file. + + + + Gets whether the "java_multiple_files" field is set + + + Clears the value of the "java_multiple_files" field + + + Field number for the "java_generate_equals_and_hash" field. + + + + This option does nothing. + + + + Gets whether the "java_generate_equals_and_hash" field is set + + + Clears the value of the "java_generate_equals_and_hash" field + + + Field number for the "java_string_check_utf8" field. + + + + If set true, then the Java2 code generator will generate code that + throws an exception whenever an attempt is made to assign a non-UTF-8 + byte sequence to a string field. + Message reflection will do the same. + However, an extension field still accepts non-UTF-8 byte sequences. + This option has no effect on when used with the lite runtime. + + + + Gets whether the "java_string_check_utf8" field is set + + + Clears the value of the "java_string_check_utf8" field + + + Field number for the "optimize_for" field. + + + Gets whether the "optimize_for" field is set + + + Clears the value of the "optimize_for" field + + + Field number for the "go_package" field. + + + + Sets the Go package where structs generated from this .proto will be + placed. If omitted, the Go package will be derived from the following: + - The basename of the package import path, if provided. + - Otherwise, the package statement in the .proto file, if present. + - Otherwise, the basename of the .proto file, without extension. + + + + Gets whether the "go_package" field is set + + + Clears the value of the "go_package" field + + + Field number for the "cc_generic_services" field. + + + + Should generic services be generated in each language? "Generic" services + are not specific to any particular RPC system. They are generated by the + main code generators in each language (without additional plugins). + Generic services were the only kind of service generation supported by + early versions of google.protobuf. + + Generic services are now considered deprecated in favor of using plugins + that generate code specific to your particular RPC system. Therefore, + these default to false. Old code which depends on generic services should + explicitly set them to true. + + + + Gets whether the "cc_generic_services" field is set + + + Clears the value of the "cc_generic_services" field + + + Field number for the "java_generic_services" field. + + + Gets whether the "java_generic_services" field is set + + + Clears the value of the "java_generic_services" field + + + Field number for the "py_generic_services" field. + + + Gets whether the "py_generic_services" field is set + + + Clears the value of the "py_generic_services" field + + + Field number for the "php_generic_services" field. + + + Gets whether the "php_generic_services" field is set + + + Clears the value of the "php_generic_services" field + + + Field number for the "deprecated" field. + + + + Is this file deprecated? + Depending on the target platform, this can emit Deprecated annotations + for everything in the file, or it will be completely ignored; in the very + least, this is a formalization for deprecating files. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "cc_enable_arenas" field. + + + + Enables the use of arenas for the proto messages in this file. This applies + only to generated classes for C++. + + + + Gets whether the "cc_enable_arenas" field is set + + + Clears the value of the "cc_enable_arenas" field + + + Field number for the "objc_class_prefix" field. + + + + Sets the objective c class prefix which is prepended to all objective c + generated classes from this .proto. There is no default. + + + + Gets whether the "objc_class_prefix" field is set + + + Clears the value of the "objc_class_prefix" field + + + Field number for the "csharp_namespace" field. + + + + Namespace for generated classes; defaults to the package. + + + + Gets whether the "csharp_namespace" field is set + + + Clears the value of the "csharp_namespace" field + + + Field number for the "swift_prefix" field. + + + + By default Swift generators will take the proto package and CamelCase it + replacing '.' with underscore and use that to prefix the types/symbols + defined. When this options is provided, they will use this value instead + to prefix the types/symbols defined. + + + + Gets whether the "swift_prefix" field is set + + + Clears the value of the "swift_prefix" field + + + Field number for the "php_class_prefix" field. + + + + Sets the php class prefix which is prepended to all php generated classes + from this .proto. Default is empty. + + + + Gets whether the "php_class_prefix" field is set + + + Clears the value of the "php_class_prefix" field + + + Field number for the "php_namespace" field. + + + + Use this option to change the namespace of php generated classes. Default + is empty. When this option is empty, the package name will be used for + determining the namespace. + + + + Gets whether the "php_namespace" field is set + + + Clears the value of the "php_namespace" field + + + Field number for the "php_metadata_namespace" field. + + + + Use this option to change the namespace of php generated metadata classes. + Default is empty. When this option is empty, the proto file name will be + used for determining the namespace. + + + + Gets whether the "php_metadata_namespace" field is set + + + Clears the value of the "php_metadata_namespace" field + + + Field number for the "ruby_package" field. + + + + Use this option to change the package of ruby generated classes. Default + is empty. When this option is not set, the package name will be used for + determining the ruby package. + + + + Gets whether the "ruby_package" field is set + + + Clears the value of the "ruby_package" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. + See the documentation for the "Options" section above. + + + + Container for nested types declared in the FileOptions message type. + + + + Generated classes can be optimized for speed or code size. + + + + + Generate complete code for parsing, serialization, + + + + + etc. + + + + + Generate code using MessageLite and the lite runtime. + + + + Field number for the "message_set_wire_format" field. + + + + Set true to use the old proto1 MessageSet wire format for extensions. + This is provided for backwards-compatibility with the MessageSet wire + format. You should not use this for any other reason: It's less + efficient, has fewer features, and is more complicated. + + The message must be defined exactly as follows: + message Foo { + option message_set_wire_format = true; + extensions 4 to max; + } + Note that the message cannot have any defined fields; MessageSets only + have extensions. + + All extensions of your type must be singular messages; e.g. they cannot + be int32s, enums, or repeated messages. + + Because this is an option, the above two restrictions are not enforced by + the protocol compiler. + + + + Gets whether the "message_set_wire_format" field is set + + + Clears the value of the "message_set_wire_format" field + + + Field number for the "no_standard_descriptor_accessor" field. + + + + Disables the generation of the standard "descriptor()" accessor, which can + conflict with a field of the same name. This is meant to make migration + from proto1 easier; new code should avoid fields named "descriptor". + + + + Gets whether the "no_standard_descriptor_accessor" field is set + + + Clears the value of the "no_standard_descriptor_accessor" field + + + Field number for the "deprecated" field. + + + + Is this message deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the message, or it will be completely ignored; in the very least, + this is a formalization for deprecating messages. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "map_entry" field. + + + + Whether the message is an automatically generated map entry type for the + maps field. + + For maps fields: + map<KeyType, ValueType> map_field = 1; + The parsed descriptor looks like: + message MapFieldEntry { + option map_entry = true; + optional KeyType key = 1; + optional ValueType value = 2; + } + repeated MapFieldEntry map_field = 1; + + Implementations may choose not to generate the map_entry=true message, but + use a native map in the target language to hold the keys and values. + The reflection APIs in such implementations still need to work as + if the field is a repeated message field. + + NOTE: Do not set the option in .proto files. Always use the maps syntax + instead. The option should only be implicitly set by the proto compiler + parser. + + + + Gets whether the "map_entry" field is set + + + Clears the value of the "map_entry" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "ctype" field. + + + + The ctype option instructs the C++ code generator to use a different + representation of the field than it normally would. See the specific + options below. This option is not yet implemented in the open source + release -- sorry, we'll try to include it in a future version! + + + + Gets whether the "ctype" field is set + + + Clears the value of the "ctype" field + + + Field number for the "packed" field. + + + + The packed option can be enabled for repeated primitive fields to enable + a more efficient representation on the wire. Rather than repeatedly + writing the tag and type for each element, the entire array is encoded as + a single length-delimited blob. In proto3, only explicit setting it to + false will avoid using packed encoding. + + + + Gets whether the "packed" field is set + + + Clears the value of the "packed" field + + + Field number for the "jstype" field. + + + + The jstype option determines the JavaScript type used for values of the + field. The option is permitted only for 64 bit integral and fixed types + (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + is represented as JavaScript string, which avoids loss of precision that + can happen when a large value is converted to a floating point JavaScript. + Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + use the JavaScript "number" type. The behavior of the default option + JS_NORMAL is implementation dependent. + + This option is an enum to permit additional types to be added, e.g. + goog.math.Integer. + + + + Gets whether the "jstype" field is set + + + Clears the value of the "jstype" field + + + Field number for the "lazy" field. + + + + Should this field be parsed lazily? Lazy applies only to message-type + fields. It means that when the outer message is initially parsed, the + inner message's contents will not be parsed but instead stored in encoded + form. The inner message will actually be parsed when it is first accessed. + + This is only a hint. Implementations are free to choose whether to use + eager or lazy parsing regardless of the value of this option. However, + setting this option true suggests that the protocol author believes that + using lazy parsing on this field is worth the additional bookkeeping + overhead typically needed to implement it. + + This option does not affect the public interface of any generated code; + all method signatures remain the same. Furthermore, thread-safety of the + interface is not affected by this option; const methods remain safe to + call from multiple threads concurrently, while non-const methods continue + to require exclusive access. + + Note that implementations may choose not to check required fields within + a lazy sub-message. That is, calling IsInitialized() on the outer message + may return true even if the inner message has missing required fields. + This is necessary because otherwise the inner message would have to be + parsed in order to perform the check, defeating the purpose of lazy + parsing. An implementation which chooses not to check required fields + must be consistent about it. That is, for any particular sub-message, the + implementation must either *always* check its required fields, or *never* + check its required fields, regardless of whether or not the message has + been parsed. + + + + Gets whether the "lazy" field is set + + + Clears the value of the "lazy" field + + + Field number for the "deprecated" field. + + + + Is this field deprecated? + Depending on the target platform, this can emit Deprecated annotations + for accessors, or it will be completely ignored; in the very least, this + is a formalization for deprecating fields. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "weak" field. + + + + For Google-internal migration only. Do not use. + + + + Gets whether the "weak" field is set + + + Clears the value of the "weak" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the FieldOptions message type. + + + + Default mode. + + + + + Use the default type. + + + + + Use JavaScript strings. + + + + + Use JavaScript numbers. + + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "allow_alias" field. + + + + Set this option to true to allow mapping different tag names to the same + value. + + + + Gets whether the "allow_alias" field is set + + + Clears the value of the "allow_alias" field + + + Field number for the "deprecated" field. + + + + Is this enum deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum, or it will be completely ignored; in the very least, this + is a formalization for deprecating enums. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this enum value deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the enum value, or it will be completely ignored; in the very least, + this is a formalization for deprecating enum values. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this service deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the service, or it will be completely ignored; in the very least, + this is a formalization for deprecating services. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Field number for the "deprecated" field. + + + + Is this method deprecated? + Depending on the target platform, this can emit Deprecated annotations + for the method, or it will be completely ignored; in the very least, + this is a formalization for deprecating methods. + + + + Gets whether the "deprecated" field is set + + + Clears the value of the "deprecated" field + + + Field number for the "idempotency_level" field. + + + Gets whether the "idempotency_level" field is set + + + Clears the value of the "idempotency_level" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + Container for nested types declared in the MethodOptions message type. + + + + 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. + + + + + implies idempotent + + + + + idempotent, but may have side effects + + + + + 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. + + + + Field number for the "name" field. + + + Field number for the "identifier_value" field. + + + + The value of the uninterpreted option, in whatever type the tokenizer + identified it as during parsing. Exactly one of these should be set. + + + + Gets whether the "identifier_value" field is set + + + Clears the value of the "identifier_value" field + + + Field number for the "positive_int_value" field. + + + Gets whether the "positive_int_value" field is set + + + Clears the value of the "positive_int_value" field + + + Field number for the "negative_int_value" field. + + + Gets whether the "negative_int_value" field is set + + + Clears the value of the "negative_int_value" field + + + Field number for the "double_value" field. + + + Gets whether the "double_value" field is set + + + Clears the value of the "double_value" field + + + Field number for the "string_value" field. + + + Gets whether the "string_value" field is set + + + Clears the value of the "string_value" field + + + Field number for the "aggregate_value" field. + + + Gets whether the "aggregate_value" field is set + + + Clears the value of the "aggregate_value" field + + + Container for nested types declared in the UninterpretedOption message type. + + + + 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". + + + + Field number for the "name_part" field. + + + Gets whether the "name_part" field is set + + + Clears the value of the "name_part" field + + + Field number for the "is_extension" field. + + + Gets whether the "is_extension" field is set + + + Clears the value of the "is_extension" field + + + + Encapsulates information about the original source file from which a + FileDescriptorProto was generated. + + + + Field number for the "location" field. + + + + A Location identifies a piece of source code in a .proto file which + corresponds to a particular definition. This information is intended + to be useful to IDEs, code indexers, documentation generators, and similar + tools. + + For example, say we have a file like: + message Foo { + optional string foo = 1; + } + Let's look at just the field definition: + optional string foo = 1; + ^ ^^ ^^ ^ ^^^ + a bc de f ghi + We have the following locations: + span path represents + [a,i) [ 4, 0, 2, 0 ] The whole field definition. + [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + + Notes: + - A location may refer to a repeated field itself (i.e. not to any + particular index within it). This is used whenever a set of elements are + logically enclosed in a single code segment. For example, an entire + extend block (possibly containing multiple extension definitions) will + have an outer location whose path refers to the "extensions" repeated + field without an index. + - Multiple locations may have the same path. This happens when a single + logical declaration is spread out across multiple places. The most + obvious example is the "extend" block again -- there may be multiple + extend blocks in the same scope, each of which will have the same path. + - A location's span is not always a subset of its parent's span. For + example, the "extendee" of an extension declaration appears at the + beginning of the "extend" block and is shared by all extensions within + the block. + - Just because a location's span is a subset of some other location's span + does not mean that it is a descendant. For example, a "group" defines + both a type and a field in a single declaration. Thus, the locations + corresponding to the type and field and their components will overlap. + - Code which tries to interpret locations should probably be designed to + ignore those that it doesn't understand, as more types of locations could + be recorded in the future. + + + + Container for nested types declared in the SourceCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies which part of the FileDescriptorProto was defined at this + location. + + Each element is a field number or an index. They form a path from + the root FileDescriptorProto to the place where the definition. For + example, this path: + [ 4, 3, 2, 7, 1 ] + refers to: + file.message_type(3) // 4, 3 + .field(7) // 2, 7 + .name() // 1 + This is because FileDescriptorProto.message_type has field number 4: + repeated DescriptorProto message_type = 4; + and DescriptorProto.field has field number 2: + repeated FieldDescriptorProto field = 2; + and FieldDescriptorProto.name has field number 1: + optional string name = 1; + + Thus, the above path gives the location of a field name. If we removed + the last element: + [ 4, 3, 2, 7 ] + this path refers to the whole field declaration (from the beginning + of the label to the terminating semicolon). + + + + Field number for the "span" field. + + + + Always has exactly three or four elements: start line, start column, + end line (optional, otherwise assumed same as start line), end column. + These are packed into a single field for efficiency. Note that line + and column numbers are zero-based -- typically you will want to add + 1 to each before displaying to a user. + + + + Field number for the "leading_comments" field. + + + + If this SourceCodeInfo represents a complete declaration, these are any + comments appearing before and after the declaration which appear to be + attached to the declaration. + + A series of line comments appearing on consecutive lines, with no other + tokens appearing on those lines, will be treated as a single comment. + + leading_detached_comments will keep paragraphs of comments that appear + before (but not connected to) the current element. Each paragraph, + separated by empty lines, will be one comment element in the repeated + field. + + Only the comment content is provided; comment markers (e.g. //) are + stripped out. For block comments, leading whitespace and an asterisk + will be stripped from the beginning of each line other than the first. + Newlines are included in the output. + + Examples: + + optional int32 foo = 1; // Comment attached to foo. + // Comment attached to bar. + optional int32 bar = 2; + + optional string baz = 3; + // Comment attached to baz. + // Another line attached to baz. + + // Comment attached to qux. + // + // Another line attached to qux. + optional double qux = 4; + + // Detached comment for corge. This is not leading or trailing comments + // to qux or corge because there are blank lines separating it from + // both. + + // Detached comment for corge paragraph 2. + + optional string corge = 5; + /* Block comment attached + * to corge. Leading asterisks + * will be removed. */ + /* Block comment attached to + * grault. */ + optional int32 grault = 6; + + // ignored detached comments. + + + + Gets whether the "leading_comments" field is set + + + Clears the value of the "leading_comments" field + + + Field number for the "trailing_comments" field. + + + Gets whether the "trailing_comments" field is set + + + Clears the value of the "trailing_comments" field + + + Field number for the "leading_detached_comments" field. + + + + 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. + + + + Field number for the "annotation" field. + + + + An Annotation connects some span of text in generated code to an element + of its generating .proto file. + + + + Container for nested types declared in the GeneratedCodeInfo message type. + + + Field number for the "path" field. + + + + Identifies the element in the original source .proto file. This field + is formatted the same as SourceCodeInfo.Location.path. + + + + Field number for the "source_file" field. + + + + Identifies the filesystem path to the original source .proto. + + + + Gets whether the "source_file" field is set + + + Clears the value of the "source_file" field + + + Field number for the "begin" field. + + + + Identifies the starting offset in bytes in the generated code + that relates to the identified object. + + + + Gets whether the "begin" field is set + + + Clears the value of the "begin" field + + + Field number for the "end" field. + + + + Identifies the ending offset in bytes in the generated code that + relates to the identified offset. The end offset should be one past + the last relevant byte (so the length of the text = end - begin). + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + + Base class for nearly all descriptors, providing common functionality. + + + + + The index of this descriptor within its parent descriptor. + + + This returns the index of this descriptor within its parent, for + this descriptor's type. (There can be duplicate values for different + types, e.g. one enum type with index 0 and one message type with index 0.) + + + + + Returns the name of the entity (field, message etc) being described. + + + + + The fully qualified name of the descriptor's target. + + + + + The file this descriptor was declared in. + + + + + The declaration information about the descriptor, or null if no declaration information + is available for this descriptor. + + + This information is typically only available for dynamically loaded descriptors, + for example within a protoc plugin where the full descriptors, including source info, + are passed to the code by protoc. + + + + + Retrieves the list of nested descriptors corresponding to the given field number, if any. + If the field is unknown or not a nested descriptor list, return null to terminate the search. + The default implementation returns null. + + + + + Provides additional information about the declaration of a descriptor, + such as source location and comments. + + + + + The descriptor this declaration relates to. + + + + + The start line of the declaration within the source file. This value is 1-based. + + + + + The start column of the declaration within the source file. This value is 1-based. + + + + + // The end line of the declaration within the source file. This value is 1-based. + + + + + The end column of the declaration within the source file. This value is 1-based, and + exclusive. (The final character of the declaration is on the column before this value.) + + + + + Comments appearing before the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing after the declaration. Never null, but may be empty. Multi-line comments + are represented as a newline-separated string. Leading whitespace and the comment marker ("//") + are removed from each line. + + + + + Comments appearing before the declaration, but separated from it by blank + lines. Each string represents a newline-separated paragraph of comments. + Leading whitespace and the comment marker ("//") are removed from each line. + The list is never null, but may be empty. Likewise each element is never null, but may be empty. + + + + + Contains lookup tables containing all the descriptors defined in a particular file. + + + + + Finds a symbol of the given name within the pool. + + The type of symbol to look for + Fully-qualified name to look up + The symbol with the given name and type, + or null if the symbol doesn't exist or has the wrong type + + + + Adds a package to the symbol tables. If a package by the same name + already exists, that is fine, but if some other kind of symbol + exists under the same name, an exception is thrown. If the package + has multiple components, this also adds the parent package(s). + + + + + Adds a symbol to the symbol table. + + The symbol already existed + in the symbol table. + + + + Verifies that the descriptor's name is valid (i.e. it contains + only letters, digits and underscores, and does not start with a digit). + + + + + + Returns the field with the given number in the given descriptor, + or null if it can't be found. + + + + + Adds a field to the fieldsByNumber table. + + A field with the same + containing type and number already exists. + + + + Adds an enum value to the enumValuesByNumber table. If an enum value + with the same type and number already exists, this method does nothing. + (This is allowed; the first value defined with the number takes precedence.) + + + + + Looks up a descriptor by name, relative to some other descriptor. + The name may be fully-qualified (with a leading '.'), partially-qualified, + or unqualified. C++-like name lookup semantics are used to search for the + matching descriptor. + + + This isn't heavily optimized, but it's only used during cross linking anyway. + If it starts being used more widely, we should look at performance more carefully. + + + + + Internal class containing utility methods when working with descriptors. + + + + + Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert + arrays. + + + + + Converts the given array into a read-only list, applying the specified conversion to + each input element. + + + + + Thrown when building descriptors fails because the source DescriptorProtos + are not valid. + + + + + The full name of the descriptor where the error occurred. + + + + + A human-readable description of the error. (The Message property + is made up of the descriptor's name and this description.) + + + + + Descriptor for an enum type in a .proto file. + + + + + The brief name of the descriptor's target. + + + + + The CLR type for this enum. For generated code, this will be a CLR enum type. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + An unmodifiable list of defined value descriptors for this enum. + + + + + Finds an enum value by number. If multiple enum values have the + same number, this returns the first defined value with that number. + If there is no value for the given number, this returns null. + + + + + Finds an enum value by name. + + The unqualified name of the value (e.g. "FOO"). + The value's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this enum. + + + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + + + + Descriptor for a single enum value within an enum in a .proto file. + + + + + Returns the name of the enum value described by this object. + + + + + Returns the number associated with this enum value. + + + + + Returns the enum descriptor that this value is part of. + + + + + The (possibly empty) set of custom options for this enum value. + + + + + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. + + + + + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. + + + + + Returns the oneof containing this field, or null if it is not part of a oneof. + + + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + + + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, + but can be overridden using the json_name option in the .proto file. + + + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + + + + The brief name of the descriptor's target. + + + + + Returns the accessor for this field. + + + + While a describes the field, it does not provide + any way of obtaining or changing the value of the field within a specific message; + that is the responsibility of the accessor. + + + In descriptors for generated code, the value returned by this property will be non-null for all + regular fields. However, if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, and the value of the map field itself is represented by a dictionary in the + reflection API. There are never instances of those "hidden" messages, so no accessor is provided + and this property will return null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + + + Maps a field type as included in the .proto file to a FieldType. + + + + + Returns true if this field is a repeated field; false otherwise. + + + + + Returns true if this field is a required field; false otherwise. + + + + + Returns true if this field is a map field; false otherwise. + + + + + Returns true if this field is a packed, repeated field; false otherwise. + + + + + Returns true if this field extends another message type; false otherwise. + + + + + Returns the type of the field. + + + + + Returns the field number declared in the proto file. + + + + + Compares this descriptor with another one, ordering in "canonical" order + which simply means ascending order by field number. + must be a field of the same type, i.e. the of + both fields must be the same. + + + + + For enum fields, returns the field's type. + + + + + For embedded message and group fields, returns the field's type. + + + + + For extension fields, returns the extended type + + + + + The (possibly empty) set of custom options for this field. + + + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + + + + Look up and cross-link all field types etc. + + + + + Enumeration of all the possible field types. + + + + + The double field type. + + + + + The float field type. + + + + + The int64 field type. + + + + + The uint64 field type. + + + + + The int32 field type. + + + + + The fixed64 field type. + + + + + The fixed32 field type. + + + + + The bool field type. + + + + + The string field type. + + + + + The field type used for groups. + + + + + The field type used for message fields. + + + + + The bytes field type. + + + + + The uint32 field type. + + + + + The sfixed32 field type. + + + + + The sfixed64 field type. + + + + + The sint32 field type. + + + + + The sint64 field type. + + + + + The field type used for enum fields. + + + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + + + + Describes a .proto file, including everything defined within. + IDescriptor is implemented such that the File property returns this descriptor, + and the FullName is the same as the Name. + + + + + Computes the full name of a descriptor within this file, with an optional parent message. + + + + + Extracts public dependencies from direct dependencies. This is a static method despite its + first parameter, as the value we're in the middle of constructing is only used for exceptions. + + + + + The descriptor in its protocol message representation. + + + + + The syntax of the file + + + + + The file name. + + + + + The package as declared in the .proto file. This may or may not + be equivalent to the .NET namespace of the generated classes. + + + + + Unmodifiable list of top-level message types declared in this file. + + + + + Unmodifiable list of top-level enum types declared in this file. + + + + + Unmodifiable list of top-level services declared in this file. + + + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + + + + Unmodifiable list of this file's dependencies (imports). + + + + + Unmodifiable list of this file's public dependencies (public imports). + + + + + The original serialized binary form of this descriptor. + + + + + Implementation of IDescriptor.FullName - just returns the same as Name. + + + + + Implementation of IDescriptor.File - just returns this descriptor. + + + + + Pool containing symbol descriptors. + + + + + Finds a type (message, enum, service or extension) in the file by name. Does not find nested types. + + The unqualified type name to look for. + The type of descriptor to look for + The type's descriptor, or null if not found. + + + + Builds a FileDescriptor from its protocol buffer representation. + + The original serialized descriptor data. + We have only limited proto2 support, so serializing FileDescriptorProto + would not necessarily give us this. + The protocol message form of the FileDescriptor. + FileDescriptors corresponding to all of the + file's dependencies, in the exact order listed in the .proto file. May be null, + in which case it is treated as an empty array. + Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false). + Details about generated code, for the purposes of reflection. + If is not + a valid descriptor. This can occur for a number of reasons, such as a field + having an undefined type or because two messages were defined with the same name. + + + + Creates a descriptor for generated code. + + + This method is only designed to be used by the results of generating code with protoc, + which creates the appropriate dependencies etc. It has to be public because the generated + code is "external", but should not be called directly by end users. + + + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The file descriptors corresponding to . + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns the file descriptor for descriptor.proto. + + + This is used for protos which take a direct dependency on descriptor.proto, typically for + annotations. While descriptor.proto is a proto2 file, it is built into the Google.Protobuf + runtime for reflection purposes. The messages are internal to the runtime as they would require + proto2 semantics for full support, but the file descriptor is available via this property. The + C# codegen in protoc automatically uses this property when it detects a dependency on descriptor.proto. + + + The file descriptor for descriptor.proto. + + + + + The (possibly empty) set of custom options for this file. + + + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + + + + Performs initialization for the given generic type argument. + + + This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated) + to make calls into the reflection machinery of this library to express an intention to use that type + reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers + attempting to determine which generic type arguments need to be handled will spot the code path and act + accordingly. + + The type to force initialization for. + + + + Extra information provided by generated code when initializing a message or file descriptor. + These are constructed as required, and are not long-lived. Hand-written code should + never need to use this type. + + + + + Irrelevant for file descriptors; the CLR type for the message for message descriptors. + + + + + Irrelevant for file descriptors; the parser for message descriptors. + + + + + Irrelevant for file descriptors; the CLR property names (in message descriptor field order) + for fields in the message for message descriptors. + + + + + The extensions defined within this file/message descriptor + + + + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) + for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo", + there will be a "FooCase" property and a "ClearFoo" method. + + + + + The reflection information for types within this file/message descriptor. Elements may be null + if there is no corresponding generated type, e.g. for map entry types. + + + + + The CLR types for enums within this file/message descriptor. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. + + + + + Interface implemented by all descriptor types. + + + + + Returns the name of the entity (message, field etc) being described. + + + + + Returns the fully-qualified name of the entity being described. + + + + + Returns the descriptor for the .proto file that this entity is part of. + + + + + Allows fields to be reflectively accessed. + + + + + Returns the descriptor associated with this field. + + + + + Clears the field in the specified message. (For repeated fields, + this clears the list.) + + + + + Fetches the field value. For repeated values, this will be an + implementation. For map values, this will be an + implementation. + + + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + + + + Mutator for single "simple" fields only. + + + Repeated fields are mutated by fetching the value and manipulating it as a list. + Map fields are mutated by fetching the value and manipulating it as a dictionary. + + The field is not a "simple" field. + + + + Accessor for map fields. + + + + + Describes a message type. + + + + + The brief name of the descriptor's target. + + + + + The CLR type used to represent message instances from this descriptor. + + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. This is not represented in any + generated type, so this property will return null in such cases. + + + For wrapper types ( and the like), the type returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + A parser for this message type. + + + + As is not generic, this cannot be statically + typed to the relevant type, but it should produce objects of a type compatible with . + + + The value returned by this property will be non-null for all regular fields. However, + if a message containing a map field is introspected, the list of nested messages will include + an auto-generated nested key/value pair message for the field. No message parser object is created for + such messages, so this property will return null in such cases. + + + For wrapper types ( and the like), the parser returned here + will be the generated message type, not the native type used by reflection for fields of those types. Code + using reflection should call to determine whether a message descriptor represents + a wrapper type, and handle the result appropriately. + + + + + + Returns whether this message is one of the "well known types" which may have runtime/protoc support. + + + + + Returns whether this message is one of the "wrapper types" used for fields which represent primitive values + with the addition of presence. + + + + + If this is a nested type, get the outer descriptor, otherwise null. + + + + + A collection of fields, which can be retrieved by name or field number. + + + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + + + + An unmodifiable list of this message type's nested types. + + + + + An unmodifiable list of this message type's enum types. + + + + + An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + + + + Finds a field by field name. + + The unqualified name of the field (e.g. "foo"). + The field's descriptor, or null if not found. + + + + Finds a field by field number. + + The field number within this message type. + The field's descriptor, or null if not found. + + + + Finds a nested descriptor by name. The is valid for fields, nested + message types, oneofs and enums. + + The unqualified name of the descriptor, e.g. "Foo" + The descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this message. + + + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + + + + Looks up and cross-links all fields and nested types. + + + + + A collection to simplify retrieving the field accessor for a particular field. + + + + + Returns the fields in the message as an immutable list, in the order in which they + are declared in the source .proto file. + + + + + Returns the fields in the message as an immutable list, in ascending field number + order. Field numbers need not be contiguous, so there is no direct mapping from the + index in the list to the field number; to retrieve a field by field number, it is better + to use the indexer. + + + + + Returns a read-only dictionary mapping the field names in this message as they're available + in the JSON representation to the field descriptors. For example, a field foo_bar + in the message would result two entries, one with a key fooBar and one with a key + foo_bar, both referring to the same field. + + + + + Retrieves the descriptor for the field with the given number. + + Number of the field to retrieve the descriptor for + The accessor for the given field + The message descriptor does not contain a field + with the given number + + + + Retrieves the descriptor for the field with the given name. + + Name of the field to retrieve the descriptor for + The descriptor for the given field + The message descriptor does not contain a field + with the given name + + + + Describes a single method in a service. + + + + + The service this method belongs to. + + + + + The method's input type. + + + + + The method's input type. + + + + + Indicates if client streams multiple requests. + + + + + Indicates if server streams multiple responses. + + + + + The (possibly empty) set of custom options for this method. + + + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + + + + The brief name of the descriptor's target. + + + + + Reflection access for a oneof, allowing clear and "get case" actions. + + + + + Gets the descriptor for this oneof. + + + The descriptor of the oneof. + + + + + Clears the oneof in the specified message. + + + + + Indicates which field in the oneof is set for specified message + + + + + Describes a "oneof" field collection in a message type: a set of + fields of which at most one can be set in any particular message. + + + + + The brief name of the descriptor's target. + + + + + Gets the message type containing this oneof. + + + The message type containing this oneof. + + + + + Gets the fields within this oneof, in declaration order. + + + The fields within this oneof, in declaration order. + + + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + + + + Gets an accessor for reflective access to the values associated with the oneof + in a particular message. + + + + In descriptors for generated code, the value returned by this property will always be non-null. + + + In dynamically loaded descriptors, the value returned by this property will current be null; + if and when dynamic messages are supported, it will return a suitable accessor to work with + them. + + + + The accessor used for reflective access. + + + + + The (possibly empty) set of custom options for this oneof. + + + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + + + + Specifies the original name (in the .proto file) of a named element, + such as an enum value. + + + + + The name of the element in the .proto file. + + + + + If the name is preferred in the .proto file. + + + + + Constructs a new attribute instance for the given name. + + The name of the element in the .proto file. + + + + Represents a package in the symbol table. We use PackageDescriptors + just as placeholders so that someone cannot define, say, a message type + that has the same name as an existing package. + + + + + The methods in this class are somewhat evil, and should not be tampered with lightly. + Basically they allow the creation of relatively weakly typed delegates from MethodInfos + which are more strongly typed. They do this by creating an appropriate strongly typed + delegate from the MethodInfo, and then calling that within an anonymous method. + Mind-bending stuff (at least to your humble narrator) but the resulting delegates are + very fast compared with calling Invoke later on. + + + + + Empty Type[] used when calling GetProperty to force property instead of indexer fetching. + + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to object. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will cast the argument to the type that declares the method, + call the method on it, then convert the result to the specified type. The method is expected + to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that + means we need some extra work to perform conversions. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + type that declares the method. + + The method to create a delegate for, which must be declared in an IMessage + implementation. + + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + + + + Creates a reflection helper for the given type arguments. Currently these are created on demand + rather than cached; this will be "busy" when initially loading a message's descriptor, but after that + they can be garbage collected. We could cache them by type if that proves to be important, but creating + an object is pretty cheap. + + + + + Accessor for repeated fields. + + + + + Describes a service type. + + + + + The brief name of the descriptor's target. + + + + + An unmodifiable list of methods in this service. + + + + + Finds a method by name. + + The unqualified name of the method (e.g. "Foo"). + The method's descriptor, or null if not found. + + + + The (possibly empty) set of custom options for this service. + + + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + + + + Accessor for single fields. + + + + + An immutable registry of types which can be looked up by their full name. + + + + + An empty type registry, containing no types. + + + + + Attempts to find a message descriptor by its full name. + + The full name of the message, which is the dot-separated + combination of package, containing messages and message name + The message descriptor corresponding to or null + if there is no such message descriptor. + + + + Creates a type registry from the specified set of file descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the specified set of file descriptors. + + + All message types within all the specified files are added to the registry, and + the dependencies of the specified files are also added, recursively. + + The set of files to include in the registry. Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + This is a convenience overload for + to allow calls such as TypeRegistry.FromFiles(descriptor1, descriptor2). + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Creates a type registry from the file descriptor parents of the specified set of message descriptors. + + + The specified message descriptors are only used to identify their file descriptors; the returned registry + contains all the types within the file descriptors which contain the specified message descriptors (and + the dependencies of those files), not just the specified messages. + + The set of message descriptors to use to identify file descriptors to include in the registry. + Must not contain null values. + A type registry for the given files. + + + + Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + + + Represents a single field in an UnknownFieldSet. + + An UnknownField consists of four lists of values. The lists correspond + to the four "wire types" used in the protocol buffer binary format. + Normally, only one of the four lists will contain any values, since it + is impossible to define a valid message type that declares two different + types for the same field number. However, the code is designed to allow + for the case where the same unknown field number is encountered using + multiple different wire types. + + + + + + Creates a new UnknownField. + + + + + Checks if two unknown field are equal. + + + + + Get the hash code of the unknown field. + + + + + Serializes the field, including the field number, and writes it to + + + The unknown field number. + The CodedOutputStream to write to. + + + + Computes the number of bytes required to encode this field, including field + number. + + + + + Merge the values in into this field. For each list + of values, 's values are append to the ones in this + field. + + + + + Returns a new list containing all of the given specified values from + both the and lists. + If is null and is empty, + null is returned. Otherwise, either a new list is created (if + is null) or the elements of are added to . + + + + + Adds a varint value. + + + + + Adds a fixed32 value. + + + + + Adds a fixed64 value. + + + + + Adds a length-delimited value. + + + + + Adds to the , creating + a new list if is null. The list is returned - either + the original reference or the new list. + + + + + Used to keep track of fields which were seen when parsing a protocol message + but whose field numbers or types are unrecognized. This most frequently + occurs when new fields are added to a message type and then messages containing + those fields are read by old software that was built before the new types were + added. + + Most users will never need to use this class directly. + + + + + Creates a new UnknownFieldSet. + + + + + Checks whether or not the given field number is present in the set. + + + + + Serializes the set and writes it to . + + + + + Gets the number of bytes required to encode this set. + + + + + Checks if two unknown field sets are equal. + + + + + Gets the unknown field set's hash code. + + + + + Adds a field to the set. If a field with the same number already exists, it + is replaced. + + + + + Parse a single field from and merge it + into this set. + + The coded input stream containing the field + false if the tag is an "end group" tag, true otherwise + + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The coded input stream containing the field + The merged UnknownFieldSet + + + + Merges the fields from into this set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Created a new UnknownFieldSet to if + needed and merges the fields from into the first set. + If a field number exists in both sets, the values in + will be appended to the values in this set. + + + + + Adds a field to the unknown field set. If a field with the same + number already exists, the two are merged. + + + + + Clone an unknown field set from . + + + + Holder for reflection information generated from google/protobuf/any.proto + + + File descriptor for google/protobuf/any.proto + + + + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + + + + Field number for the "type_url" field. + + + + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + + + + Field number for the "value" field. + + + + Must be a valid serialized protocol buffer of the above specified type. + + + + + Retrieves the type name for a type URL, matching the + of the packed message type. + + + + This is always just the last part of the URL, after the final slash. No validation of + anything before the trailing slash is performed. If the type URL does not include a slash, + an empty string is returned rather than an exception being thrown; this won't match any types, + and the calling code is probably in a better position to give a meaningful error. + + + There is no handling of fragments or queries at the moment. + + + The URL to extract the type name from + The type name + + + + Returns a bool indictating whether this Any message is of the target message type + + The descriptor of the message type + true if the type name matches the descriptor's full name or false otherwise + + + + Unpacks the content of this Any message into the target message type, + which must match the type URL within this Any message. + + The type of message to unpack the content into. + The unpacked message. + The target message type doesn't match the type URL in this message + + + + Attempts to unpack the content of this Any message into the target message type, + if it matches the type URL within this Any message. + + The type of message to attempt to unpack the content into. + true if the message was successfully unpacked; false if the type name didn't match + + + + Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com". + + The message to pack. + An Any message with the content and type URL of . + + + + Packs the specified message into an Any message using the specified type URL prefix. + + The message to pack. + The prefix for the type URL. + An Any message with the content and type URL of . + + + Holder for reflection information generated from google/protobuf/api.proto + + + File descriptor for google/protobuf/api.proto + + + + Api is a light-weight descriptor for an API Interface. + + Interfaces are also described as "protocol buffer services" in some contexts, + such as by the "service" keyword in a .proto file, but they are different + from API Services, which represent a concrete implementation of an interface + as opposed to simply a description of methods and bindings. They are also + sometimes simply referred to as "APIs" in other contexts, such as the name of + this message itself. See https://cloud.google.com/apis/design/glossary for + detailed terminology. + + + + Field number for the "name" field. + + + + The fully qualified name of this interface, including package name + followed by the interface's simple name. + + + + Field number for the "methods" field. + + + + The methods of this interface, in unspecified order. + + + + Field number for the "options" field. + + + + Any metadata attached to the interface. + + + + Field number for the "version" field. + + + + A version string for this interface. If specified, must have the form + `major-version.minor-version`, as in `1.10`. If the minor version is + omitted, it defaults to zero. If the entire version field is empty, the + major version is derived from the package name, as outlined below. If the + field is not empty, the version in the package name will be verified to be + consistent with what is provided here. + + The versioning schema uses [semantic + versioning](http://semver.org) where the major version number + indicates a breaking change and the minor version an additive, + non-breaking change. Both version numbers are signals to users + what to expect from different versions, and should be carefully + chosen based on the product plan. + + The major version is also reflected in the package name of the + interface, which must end in `v<major-version>`, as in + `google.feature.v1`. For major versions 0 and 1, the suffix can + be omitted. Zero major versions must only be used for + experimental, non-GA interfaces. + + + + Field number for the "source_context" field. + + + + Source context for the protocol buffer service represented by this + message. + + + + Field number for the "mixins" field. + + + + Included interfaces. See [Mixin][]. + + + + Field number for the "syntax" field. + + + + The source syntax of the service. + + + + + Method represents a method of an API interface. + + + + Field number for the "name" field. + + + + The simple name of this method. + + + + Field number for the "request_type_url" field. + + + + A URL of the input message type. + + + + Field number for the "request_streaming" field. + + + + If true, the request is streamed. + + + + Field number for the "response_type_url" field. + + + + The URL of the output message type. + + + + Field number for the "response_streaming" field. + + + + If true, the response is streamed. + + + + Field number for the "options" field. + + + + Any metadata attached to the method. + + + + Field number for the "syntax" field. + + + + The source syntax of this method. + + + + + Declares an API Interface to be included in this interface. The including + interface must redeclare all the methods from the included interface, but + documentation and options are inherited as follows: + + - If after comment and whitespace stripping, the documentation + string of the redeclared method is empty, it will be inherited + from the original method. + + - Each annotation belonging to the service config (http, + visibility) which is not set in the redeclared method will be + inherited. + + - If an http annotation is inherited, the path pattern will be + modified as follows. Any version prefix will be replaced by the + version of the including interface plus the [root][] path if + specified. + + Example of a simple mixin: + + package google.acl.v1; + service AccessControl { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v1/{resource=**}:getAcl"; + } + } + + package google.storage.v2; + service Storage { + rpc GetAcl(GetAclRequest) returns (Acl); + + // Get a data record. + rpc GetData(GetDataRequest) returns (Data) { + option (google.api.http).get = "/v2/{resource=**}"; + } + } + + Example of a mixin configuration: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + + The mixin construct implies that all methods in `AccessControl` are + also declared with same name and request/response types in + `Storage`. A documentation generator or annotation processor will + see the effective `Storage.GetAcl` method after inherting + documentation and annotations as follows: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/{resource=**}:getAcl"; + } + ... + } + + Note how the version in the path pattern changed from `v1` to `v2`. + + If the `root` field in the mixin is specified, it should be a + relative path under which inherited HTTP paths are placed. Example: + + apis: + - name: google.storage.v2.Storage + mixins: + - name: google.acl.v1.AccessControl + root: acls + + This implies the following inherited HTTP annotation: + + service Storage { + // Get the underlying ACL object. + rpc GetAcl(GetAclRequest) returns (Acl) { + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; + } + ... + } + + + + Field number for the "name" field. + + + + The fully qualified name of the interface which is included. + + + + Field number for the "root" field. + + + + If non-empty specifies a path under which inherited HTTP paths + are rooted. + + + + Holder for reflection information generated from google/protobuf/duration.proto + + + File descriptor for google/protobuf/duration.proto + + + + A Duration represents a signed, fixed-length span of time represented + as a count of seconds and fractions of seconds at nanosecond + resolution. It is independent of any calendar and concepts like "day" + or "month". It is related to Timestamp in that the difference between + two Timestamp values is a Duration and it can be added or subtracted + from a Timestamp. Range is approximately +-10,000 years. + + # Examples + + Example 1: Compute Duration from two Timestamps in pseudo code. + + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; + + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } + + Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } + + Example 3: Compute Duration from datetime.timedelta in Python. + + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) + + # JSON Mapping + + In JSON format, the Duration type is encoded as a string rather than an + object, where the string ends in the suffix "s" (indicating seconds) and + is preceded by the number of seconds, with nanoseconds expressed as + fractional seconds. For example, 3 seconds with 0 nanoseconds should be + encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + microsecond should be expressed in JSON format as "3.000001s". + + + + Field number for the "seconds" field. + + + + Signed seconds of the span of time. Must be from -315,576,000,000 + to +315,576,000,000 inclusive. Note: these bounds are computed from: + 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + + + + Field number for the "nanos" field. + + + + Signed fractions of a second at nanosecond resolution of the span + of time. Durations less than one second are represented with a 0 + `seconds` field and a positive or negative `nanos` field. For durations + of one second or more, a non-zero value for the `nanos` field must be + of the same sign as the `seconds` field. Must be from -999,999,999 + to +999,999,999 inclusive. + + + + + The number of nanoseconds in a second. + + + + + The number of nanoseconds in a BCL tick (as used by and ). + + + + + The maximum permitted number of seconds. + + + + + The minimum permitted number of seconds. + + + + + Converts this to a . + + If the duration is not a precise number of ticks, it is truncated towards 0. + The value of this duration, as a TimeSpan. + This value isn't a valid normalized duration, as + described in the documentation. + + + + Converts the given to a . + + The TimeSpan to convert. + The value of the given TimeSpan, as a Duration. + + + + Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes. + + The duration to negate. Must not be null. + The negated value of this duration. + + + + Adds the two specified values together. + + The first value to add. Must not be null. + The second value to add. Must not be null. + + + + + Subtracts one from another. + + The duration to subtract from. Must not be null. + The duration to subtract. Must not be null. + The difference between the two specified durations. + + + + Creates a duration with the normalized values from the given number of seconds and + nanoseconds, conforming with the description in the proto file. + + + + + Converts a duration specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in duration.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which + case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well + as Duration. + + + + Holder for reflection information generated from google/protobuf/empty.proto + + + File descriptor for google/protobuf/empty.proto + + + + A generic empty message that you can re-use to avoid defining duplicated + empty messages in your APIs. A typical example is to use it as the request + or the response type of an API method. For instance: + + service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + } + + The JSON representation for `Empty` is empty JSON object `{}`. + + + + Holder for reflection information generated from google/protobuf/field_mask.proto + + + File descriptor for google/protobuf/field_mask.proto + + + + `FieldMask` represents a set of symbolic field paths, for example: + + paths: "f.a" + paths: "f.b.d" + + Here `f` represents a field in some root message, `a` and `b` + fields in the message found in `f`, and `d` a field found in the + message in `f.b`. + + Field masks are used to specify a subset of fields that should be + returned by a get operation or modified by an update operation. + Field masks also have a custom JSON encoding (see below). + + # Field Masks in Projections + + When used in the context of a projection, a response message or + sub-message is filtered by the API to only contain those fields as + specified in the mask. For example, if the mask in the previous + example is applied to a response message as follows: + + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + + The result will not contain specific values for fields x,y and z + (their value will be set to the default, and omitted in proto text + output): + + f { + a : 22 + b { + d : 1 + } + } + + A repeated field is not allowed except at the last position of a + paths string. + + If a FieldMask object is not present in a get operation, the + operation applies to all fields (as if a FieldMask of all fields + had been specified). + + Note that a field mask does not necessarily apply to the + top-level response message. In case of a REST get operation, the + field mask applies directly to the response, but in case of a REST + list operation, the mask instead applies to each individual message + in the returned resource list. In case of a REST custom method, + other definitions may be used. Where the mask applies will be + clearly documented together with its declaration in the API. In + any case, the effect on the returned resource/resources is required + behavior for APIs. + + # Field Masks in Update Operations + + A field mask in update operations specifies which fields of the + targeted resource are going to be updated. The API is required + to only change the values of the fields as specified in the mask + and leave the others untouched. If a resource is passed in to + describe the updated values, the API ignores the values of all + fields not covered by the mask. + + If a repeated field is specified for an update operation, new values will + be appended to the existing repeated field in the target resource. Note that + a repeated field is only allowed in the last position of a `paths` string. + + If a sub-message is specified in the last position of the field mask for an + update operation, then new value will be merged into the existing sub-message + in the target resource. + + For example, given the target message: + + f { + b { + d: 1 + x: 2 + } + c: [1] + } + + And an update message: + + f { + b { + d: 10 + } + c: [2] + } + + then if the field mask is: + + paths: ["f.b", "f.c"] + + then the result will be: + + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } + + An implementation may provide options to override this default behavior for + repeated and message fields. + + In order to reset a field's value to the default, the field must + be in the mask and set to the default value in the provided resource. + Hence, in order to reset all fields of a resource, provide a default + instance of the resource and set all fields in the mask, or do + not provide a mask as described below. + + If a field mask is not present on update, the operation applies to + all fields (as if a field mask of all fields has been specified). + Note that in the presence of schema evolution, this may mean that + fields the client does not know and has therefore not filled into + the request will be reset to their default. If this is unwanted + behavior, a specific service may require a client to always specify + a field mask, producing an error if not. + + As with get operations, the location of the resource which + describes the updated values in the request message depends on the + operation kind. In any case, the effect of the field mask is + required to be honored by the API. + + ## Considerations for HTTP REST + + The HTTP kind of an update operation which uses a field mask must + be set to PATCH instead of PUT in order to satisfy HTTP semantics + (PUT must only be used for full updates). + + # JSON Encoding of Field Masks + + In JSON, a field mask is encoded as a single string where paths are + separated by a comma. Fields name in each path are converted + to/from lower-camel naming conventions. + + As an example, consider the following message declarations: + + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } + + In proto a field mask for `Profile` may look as such: + + mask { + paths: "user.display_name" + paths: "photo" + } + + In JSON, the same mask is represented as below: + + { + mask: "user.displayName,photo" + } + + # Field Masks and Oneof Fields + + Field masks treat fields in oneofs just as regular fields. Consider the + following message: + + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } + + The field mask can be: + + mask { + paths: "name" + } + + Or: + + mask { + paths: "sub_message" + } + + Note that oneof type names ("test_oneof" in this case) cannot be used in + paths. + + ## Field Mask Verification + + The implementation of any API method which has a FieldMask type field in the + request should verify the included field paths, and return an + `INVALID_ARGUMENT` error if any path is unmappable. + + + + Field number for the "paths" field. + + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The 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](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # 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. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + 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://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Returns whether two timestamps are equivalent + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond + + + + Returns whether two timestamps differ + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps differ + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + Holder for reflection information generated from google/protobuf/type.proto + + + File descriptor for google/protobuf/type.proto + + + + The syntax in which a protocol buffer element is defined. + + + + + Syntax `proto2`. + + + + + Syntax `proto3`. + + + + + A protocol buffer message type. + + + + Field number for the "name" field. + + + + The fully qualified message name. + + + + Field number for the "fields" field. + + + + The list of fields. + + + + Field number for the "oneofs" field. + + + + The list of types appearing in `oneof` definitions in this type. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + A single field of a message type. + + + + Field number for the "kind" field. + + + + The field type. + + + + Field number for the "cardinality" field. + + + + The field cardinality. + + + + Field number for the "number" field. + + + + The field number. + + + + Field number for the "name" field. + + + + The field name. + + + + Field number for the "type_url" field. + + + + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + + + + Field number for the "oneof_index" field. + + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + + + + Field number for the "packed" field. + + + + Whether to use alternative packed wire representation. + + + + Field number for the "options" field. + + + + The protocol buffer options. + + + + Field number for the "json_name" field. + + + + The field JSON name. + + + + Field number for the "default_value" field. + + + + The string value of the default value of this field. Proto2 syntax only. + + + + Container for nested types declared in the Field message type. + + + + Basic field types. + + + + + Field type unknown. + + + + + Field type double. + + + + + Field type float. + + + + + Field type int64. + + + + + Field type uint64. + + + + + Field type int32. + + + + + Field type fixed64. + + + + + Field type fixed32. + + + + + Field type bool. + + + + + Field type string. + + + + + Field type group. Proto2 syntax only, and deprecated. + + + + + Field type message. + + + + + Field type bytes. + + + + + Field type uint32. + + + + + Field type enum. + + + + + Field type sfixed32. + + + + + Field type sfixed64. + + + + + Field type sint32. + + + + + Field type sint64. + + + + + Whether a field is optional, required, or repeated. + + + + + For fields with unknown cardinality. + + + + + For optional fields. + + + + + For required fields. Proto2 syntax only. + + + + + For repeated fields. + + + + + Enum type definition. + + + + Field number for the "name" field. + + + + Enum type name. + + + + Field number for the "enumvalue" field. + + + + Enum value definitions. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + Field number for the "source_context" field. + + + + The source context. + + + + Field number for the "syntax" field. + + + + The source syntax. + + + + + Enum value definition. + + + + Field number for the "name" field. + + + + Enum value name. + + + + Field number for the "number" field. + + + + Enum value number. + + + + Field number for the "options" field. + + + + Protocol buffer options. + + + + + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. + + + + Field number for the "name" field. + + + + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. + + + + Field number for the "value" field. + + + + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. + + + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + + + Field number for the single "value" field in all wrapper types. + + + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + + + The double value. + + + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + + + The float value. + + + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + + + The int64 value. + + + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + + + The uint64 value. + + + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + + + The int32 value. + + + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + + + The uint32 value. + + + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + + + The bool value. + + + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + + + The string value. + + + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + + + + Field number for the "value" field. + + + + The bytes value. + + + + + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + + + + + + Wire types within protobuf encoding. + + + + + Variable-length integer. + + + + + A fixed-length 64-bit value. + + + + + A length-delimited value, i.e. a length followed by that many bytes of data. + + + + + A "start group" value + + + + + An "end group" value + + + + + A fixed-length 32-bit value. + + + + + Given a tag value, determines the wire type (lower 3 bits). + + + + + Given a tag value, determines the field number (the upper 29 bits). + + + + + Makes a tag value given a field number and wire type. + + + + diff --git a/Plugins/LC.Google.Protobuf.xml.meta b/Plugins/LC.Google.Protobuf.xml.meta new file mode 100644 index 0000000..812de23 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37d288fdd6052488da158dc27f61dcdd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.deps.json b/Plugins/LiveQuery.deps.json new file mode 100644 index 0000000..b49ba21 --- /dev/null +++ b/Plugins/LiveQuery.deps.json @@ -0,0 +1,111 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "LiveQuery/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "Realtime": "1.0.0" + }, + "runtime": { + "LiveQuery.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Common/1.0.0": { + "dependencies": { + "LC.Newtonsoft.Json": "11.0.1-beta2" + }, + "runtime": { + "Common.dll": {} + } + }, + "LC.Google.Protobuf/3.12.4": { + "dependencies": { + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "LC.Google.Protobuf.dll": {} + } + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "runtime": { + "LC.Newtonsoft.Json.dll": {} + } + }, + "Realtime/1.0.0": { + "dependencies": { + "LC.Google.Protobuf": "3.12.4", + "Storage": "1.0.0" + }, + "runtime": { + "Realtime.dll": {} + } + }, + "Storage/1.0.0": { + "dependencies": { + "Common": "1.0.0" + }, + "runtime": { + "Storage.dll": {} + } + } + } + }, + "libraries": { + "LiveQuery/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "Common/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Google.Protobuf/3.12.4": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LC.Newtonsoft.Json/11.0.1-beta2": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Realtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Storage/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/LiveQuery.deps.json.meta b/Plugins/LiveQuery.deps.json.meta new file mode 100644 index 0000000..5f5ef05 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4b77d621cd185424face73ab2ac29f22 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..39754fdbc4326ae528d66f00a7bdbb5a8f1b8cd2 GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Plugins/LiveQuery.pdb.meta b/Plugins/LiveQuery.pdb.meta new file mode 100644 index 0000000..14965e4 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66d3121be68154d9e9b35d23fa40c82c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..97f07c521c326af526fc7f4460877544ca4c363e GIT binary patch literal 300032 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 M9>W09U(oOW17f_?^8f$< literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.pdb.meta b/Plugins/Realtime.pdb.meta new file mode 100644 index 0000000..ad22072 --- /dev/null +++ b/Plugins/Realtime.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 77590dd96d7b54f2d9db8294d4d8b461 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/link.xml b/Plugins/link.xml new file mode 100644 index 0000000..724110f --- /dev/null +++ b/Plugins/link.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..e53aadd --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e919cefc030b4325843c771d2e264e8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..9f016e9 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "2.2.1", + "displayName": "LeanCloud Realtime", + "description": "This is leancloud realtime package", + "unity": "2019.1", + "dependencies": { + "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-2.2.1" + }, + "keywords": ["LeanCloud", "Realtime"], + "author": { + "name": "LeanCloud", + "email": "support@leancloud.rocks", + "url": "https://leancloud.cn/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..07f1877 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cab27503237414a72bd75ad0d0c361fd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant:

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