From 7c9294018495f646a57d33538fa51699ec4e76f1 Mon Sep 17 00:00:00 2001 From: leancloud-bot Date: Tue, 30 May 2023 16:22:21 +0800 Subject: [PATCH] 1.0.6 --- 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 -> 299008 bytes Plugins/Realtime.dll.meta | 33 + Plugins/Realtime.pdb | Bin 0 -> 105612 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..c293a6c --- /dev/null +++ b/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc7427e8b3f0a4030be99674ac140aa3 +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..9a802e506fe7ab49d6de06170b1aad7c7844922b GIT binary patch literal 358912 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

=adF{`Cf|iN|i@s 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 Q%#4e#DvRdCC-!Uq58=LQ>Hq)$ 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..f716607 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0da45a331f1e0474cbba188813831b26 +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..45bdf64 --- /dev/null +++ b/Plugins/LC.Google.Protobuf.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9233a326b459a4bf69bf8c70623cab81 +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..d6a68e4 --- /dev/null +++ b/Plugins/LiveQuery.deps.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a0a20ea783cc42858ea83c5c064acec +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/LiveQuery.dll b/Plugins/LiveQuery.dll new file mode 100644 index 0000000000000000000000000000000000000000..f261816f5f2b5ba99aa3311dd03fa3b7f435901c 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..40ef593 --- /dev/null +++ b/Plugins/LiveQuery.pdb.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 281d8448e5dc049449f985e5493bd6d4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.dll b/Plugins/Realtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..246d588dda011641cb4b074dce1741a30b6121df GIT binary patch literal 299008 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

8MGdg^ZEKS%wxeMpkA*3mGE=n9xGT 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

)M$+mHw0?5CWspY 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 Z73qGd{=OeEwW#n`?79E{@0U*l{{z+vnGFB{ literal 0 HcmV?d00001 diff --git a/Plugins/Realtime.dll.meta b/Plugins/Realtime.dll.meta new file mode 100644 index 0000000..6c20b20 --- /dev/null +++ b/Plugins/Realtime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 8608b6b6782874b15850d3886c2cabc6 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Plugins/Realtime.pdb b/Plugins/Realtime.pdb new file mode 100644 index 0000000000000000000000000000000000000000..aaa96fa4c308fab1fab4d8a3625107316d106da7 GIT binary patch literal 105612 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 fyFPT|PW + + + + + + + + + + \ No newline at end of file diff --git a/Plugins/link.xml.meta b/Plugins/link.xml.meta new file mode 100644 index 0000000..ff6a002 --- /dev/null +++ b/Plugins/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2f00c54517e244c77a8d067b4a4a2338 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..afbc2c6 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "com.leancloud.realtime", + "version": "1.0.6", + "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-1.0.6" + }, + "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..d864fc2 --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 62099c42effd64732a59af18d58eec3f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant:

5l*#{9*=s#c&sHXl({mJQoIa-d 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�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