From 32bdfc2cc780ed1e0812b88931a8aab4dab30df0 Mon Sep 17 00:00:00 2001 From: Richard Dingwall Date: Wed, 11 Jan 2012 16:57:53 +1300 Subject: [PATCH] NuGet protobuf-net version number is now automagically populated from packages.config. --- build/ProtoBuf.Data.targets | 18 +- build/protobuf-net-data.nuspec | 2 +- .../lib/net20/protobuf-net.xml | 2480 ---------------- .../lib/net30/protobuf-net.xml | 2601 ----------------- .../lib/net35/protobuf-net.xml | 2601 ----------------- .../lib/net40/protobuf-net.xml | 2601 ----------------- .../lib/sl3-wp/protobuf-net.XML | 2323 --------------- .../lib/sl4/protobuf-net.xml | 2364 --------------- 8 files changed, 18 insertions(+), 14972 deletions(-) delete mode 100644 packages/protobuf-net.2.0.0.470/lib/net20/protobuf-net.xml delete mode 100644 packages/protobuf-net.2.0.0.470/lib/net30/protobuf-net.xml delete mode 100644 packages/protobuf-net.2.0.0.470/lib/net35/protobuf-net.xml delete mode 100644 packages/protobuf-net.2.0.0.470/lib/net40/protobuf-net.xml delete mode 100644 packages/protobuf-net.2.0.0.470/lib/sl3-wp/protobuf-net.XML delete mode 100644 packages/protobuf-net.2.0.0.470/lib/sl4/protobuf-net.xml diff --git a/build/ProtoBuf.Data.targets b/build/ProtoBuf.Data.targets index 2322edb..ae4eafa 100644 --- a/build/ProtoBuf.Data.targets +++ b/build/ProtoBuf.Data.targets @@ -9,6 +9,10 @@ + @@ -41,13 +45,25 @@ + + + + + - + + + diff --git a/build/protobuf-net-data.nuspec b/build/protobuf-net-data.nuspec index 1484bbf..feb240f 100644 --- a/build/protobuf-net-data.nuspec +++ b/build/protobuf-net-data.nuspec @@ -12,7 +12,7 @@ en-US binary serialization protocol buffers protobuf deserialization ADO.NET ado data database - + \ No newline at end of file diff --git a/packages/protobuf-net.2.0.0.470/lib/net20/protobuf-net.xml b/packages/protobuf-net.2.0.0.470/lib/net20/protobuf-net.xml deleted file mode 100644 index d6010e8..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/net20/protobuf-net.xml +++ /dev/null @@ -1,2480 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Pushes a null reference onto the stack. Note that this should only - be used to return a null (or set a variable to null); for null-tests - use BranchIfTrue / BranchIfFalse. - - - - - Creates a new "using" block (equivalent) around a variable; - the variable must exist, and note that (unlike in C#) it is - the variables *final* value that gets disposed. If you need - *original* disposal, copy your variable first. - - It is the callers responsibility to ensure that the variable's - scope fully-encapsulates the "using"; if not, the variable - may be re-used (and thus re-assigned) unexpectedly. - - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Compiles the serializer for this type; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - A new IFormatter to be used during [de]serialization. - The type of object to be [de]deserialized by the formatter. - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Compiles the serializers individually; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Fully compiles the current model into a static-compiled model instance - - A full compilation is restricted to accessing public types / members - An instance of the newly created compiled type-model - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - The name of the TypeModel class to create - The path for the new dll - An instance of the newly created compiled type-model - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should serializers be compiled on demand? It may be useful - to disable this for debugging purposes. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Convert a SerializationContext to a StreamingContext - - - - - Convert a StreamingContext to a SerializationContext - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Gets or sets the source or destination of the transmitted data. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination XmlWriter to write to. - - - - Applies a protocol-buffer from an XmlReader to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The XmlReader containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - Additional information about this serialization operation. - - - - Precompiles the serializer for a given type. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - The type of object to be [de]deserialized by the formatter. - A new IFormatter to be used during [de]serialization. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - Emit the IL necessary to perform the given actions - to serialize this data. - - Details and utilities for the method being generated. - The source of the data to work against; - If the value is only needed once, then LoadValue is sufficient. If - the value is needed multiple times, then note that a "null" - means "the top of the stack", in which case you should create your - own copy - GetLocalWithValue. - - - - Emit the IL necessary to perform the given actions to deserialize this data. - - Details and utilities for the method being generated. - For nested values, the instance holding the values; note - that this is not always provided - a null means not supplied. Since this is always - a variable or argument, it is not necessary to consume this value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - diff --git a/packages/protobuf-net.2.0.0.470/lib/net30/protobuf-net.xml b/packages/protobuf-net.2.0.0.470/lib/net30/protobuf-net.xml deleted file mode 100644 index 62c4d28..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/net30/protobuf-net.xml +++ /dev/null @@ -1,2601 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Pushes a null reference onto the stack. Note that this should only - be used to return a null (or set a variable to null); for null-tests - use BranchIfTrue / BranchIfFalse. - - - - - Creates a new "using" block (equivalent) around a variable; - the variable must exist, and note that (unlike in C#) it is - the variables *final* value that gets disposed. If you need - *original* disposal, copy your variable first. - - It is the callers responsibility to ensure that the variable's - scope fully-encapsulates the "using"; if not, the variable - may be re-used (and thus re-assigned) unexpectedly. - - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Compiles the serializer for this type; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - A new IFormatter to be used during [de]serialization. - The type of object to be [de]deserialized by the formatter. - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Compiles the serializers individually; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Fully compiles the current model into a static-compiled model instance - - A full compilation is restricted to accessing public types / members - An instance of the newly created compiled type-model - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - The name of the TypeModel class to create - The path for the new dll - An instance of the newly created compiled type-model - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should serializers be compiled on demand? It may be useful - to disable this for debugging purposes. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Convert a SerializationContext to a StreamingContext - - - - - Convert a StreamingContext to a SerializationContext - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Gets or sets the source or destination of the transmitted data. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination XmlWriter to write to. - - - - Applies a protocol-buffer from an XmlReader to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The XmlReader containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - Additional information about this serialization operation. - - - - Precompiles the serializer for a given type. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - The type of object to be [de]deserialized by the formatter. - A new IFormatter to be used during [de]serialization. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - Emit the IL necessary to perform the given actions - to serialize this data. - - Details and utilities for the method being generated. - The source of the data to work against; - If the value is only needed once, then LoadValue is sufficient. If - the value is needed multiple times, then note that a "null" - means "the top of the stack", in which case you should create your - own copy - GetLocalWithValue. - - - - Emit the IL necessary to perform the given actions to deserialize this data. - - Details and utilities for the method being generated. - For nested values, the instance holding the values; note - that this is not always provided - a null means not supplied. Since this is always - a variable or argument, it is not necessary to consume this value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - Uses protocol buffer serialization on the specified operation; note that this - must be enabled on both the client and server. - - - - - Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - - - - - Creates a new ProtoBehaviorExtension instance. - - - - - Creates a behavior extension based on the current configuration settings. - - The behavior extension. - - - - Gets the type of behavior. - - - - - Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - Add the following to the server and client app.config in the system.serviceModel section: - - - - - - - - - - - - - - Configure your endpoints to have a behaviorConfiguration as follows: - - - - - - - - - - - - - Describes a WCF operation behaviour that can perform protobuf serialization - - - - - Create a new ProtoOperationBehavior instance - - - - - Creates a protobuf serializer if possible (falling back to the default WCF serializer) - - - - - The type-model that should be used with this behaviour - - - - - An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) - - - - - Attempt to create a new serializer for the given model and type - - A new serializer instance if the type is recognised by the model; null otherwise - - - - Creates a new serializer for the given model and type - - - - - Ends an object in the output - - - - - Begins an object in the output - - - - - Writes the body of an object in the output - - - - - Indicates whether this is the start of an object we are prepared to handle - - - - - Reads the body of an object - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - diff --git a/packages/protobuf-net.2.0.0.470/lib/net35/protobuf-net.xml b/packages/protobuf-net.2.0.0.470/lib/net35/protobuf-net.xml deleted file mode 100644 index 62c4d28..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/net35/protobuf-net.xml +++ /dev/null @@ -1,2601 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Pushes a null reference onto the stack. Note that this should only - be used to return a null (or set a variable to null); for null-tests - use BranchIfTrue / BranchIfFalse. - - - - - Creates a new "using" block (equivalent) around a variable; - the variable must exist, and note that (unlike in C#) it is - the variables *final* value that gets disposed. If you need - *original* disposal, copy your variable first. - - It is the callers responsibility to ensure that the variable's - scope fully-encapsulates the "using"; if not, the variable - may be re-used (and thus re-assigned) unexpectedly. - - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Compiles the serializer for this type; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - A new IFormatter to be used during [de]serialization. - The type of object to be [de]deserialized by the formatter. - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Compiles the serializers individually; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Fully compiles the current model into a static-compiled model instance - - A full compilation is restricted to accessing public types / members - An instance of the newly created compiled type-model - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - The name of the TypeModel class to create - The path for the new dll - An instance of the newly created compiled type-model - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should serializers be compiled on demand? It may be useful - to disable this for debugging purposes. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Convert a SerializationContext to a StreamingContext - - - - - Convert a StreamingContext to a SerializationContext - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Gets or sets the source or destination of the transmitted data. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination XmlWriter to write to. - - - - Applies a protocol-buffer from an XmlReader to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The XmlReader containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - Additional information about this serialization operation. - - - - Precompiles the serializer for a given type. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - The type of object to be [de]deserialized by the formatter. - A new IFormatter to be used during [de]serialization. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - Emit the IL necessary to perform the given actions - to serialize this data. - - Details and utilities for the method being generated. - The source of the data to work against; - If the value is only needed once, then LoadValue is sufficient. If - the value is needed multiple times, then note that a "null" - means "the top of the stack", in which case you should create your - own copy - GetLocalWithValue. - - - - Emit the IL necessary to perform the given actions to deserialize this data. - - Details and utilities for the method being generated. - For nested values, the instance holding the values; note - that this is not always provided - a null means not supplied. Since this is always - a variable or argument, it is not necessary to consume this value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - Uses protocol buffer serialization on the specified operation; note that this - must be enabled on both the client and server. - - - - - Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - - - - - Creates a new ProtoBehaviorExtension instance. - - - - - Creates a behavior extension based on the current configuration settings. - - The behavior extension. - - - - Gets the type of behavior. - - - - - Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - Add the following to the server and client app.config in the system.serviceModel section: - - - - - - - - - - - - - - Configure your endpoints to have a behaviorConfiguration as follows: - - - - - - - - - - - - - Describes a WCF operation behaviour that can perform protobuf serialization - - - - - Create a new ProtoOperationBehavior instance - - - - - Creates a protobuf serializer if possible (falling back to the default WCF serializer) - - - - - The type-model that should be used with this behaviour - - - - - An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) - - - - - Attempt to create a new serializer for the given model and type - - A new serializer instance if the type is recognised by the model; null otherwise - - - - Creates a new serializer for the given model and type - - - - - Ends an object in the output - - - - - Begins an object in the output - - - - - Writes the body of an object in the output - - - - - Indicates whether this is the start of an object we are prepared to handle - - - - - Reads the body of an object - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - diff --git a/packages/protobuf-net.2.0.0.470/lib/net40/protobuf-net.xml b/packages/protobuf-net.2.0.0.470/lib/net40/protobuf-net.xml deleted file mode 100644 index 62c4d28..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/net40/protobuf-net.xml +++ /dev/null @@ -1,2601 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Pushes a null reference onto the stack. Note that this should only - be used to return a null (or set a variable to null); for null-tests - use BranchIfTrue / BranchIfFalse. - - - - - Creates a new "using" block (equivalent) around a variable; - the variable must exist, and note that (unlike in C#) it is - the variables *final* value that gets disposed. If you need - *original* disposal, copy your variable first. - - It is the callers responsibility to ensure that the variable's - scope fully-encapsulates the "using"; if not, the variable - may be re-used (and thus re-assigned) unexpectedly. - - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Compiles the serializer for this type; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - A new IFormatter to be used during [de]serialization. - The type of object to be [de]deserialized by the formatter. - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Compiles the serializers individually; this is *not* a full - standalone compile, but can significantly boost performance - while allowing additional types to be added. - - An in-place compile can access non-public types / members - - - - Fully compiles the current model into a static-compiled model instance - - A full compilation is restricted to accessing public types / members - An instance of the newly created compiled type-model - - - - Fully compiles the current model into a static-compiled serialization dll - (the serialization dll still requires protobuf-net for support services). - - A full compilation is restricted to accessing public types / members - The name of the TypeModel class to create - The path for the new dll - An instance of the newly created compiled type-model - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should serializers be compiled on demand? It may be useful - to disable this for debugging purposes. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Convert a SerializationContext to a StreamingContext - - - - - Convert a StreamingContext to a SerializationContext - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Gets or sets the source or destination of the transmitted data. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied SerializationInfo. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination SerializationInfo to write to. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - The type being serialized. - The existing instance to be serialized (cannot be null). - The destination XmlWriter to write to. - - - - Applies a protocol-buffer from an XmlReader to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The XmlReader containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - - - - Applies a protocol-buffer from a SerializationInfo to an existing instance. - - The type being merged. - The existing instance to be modified (cannot be null). - The SerializationInfo containing the data to apply to the instance (cannot be null). - Additional information about this serialization operation. - - - - Precompiles the serializer for a given type. - - - - - Creates a new IFormatter that uses protocol-buffer [de]serialization. - - The type of object to be [de]deserialized by the formatter. - A new IFormatter to be used during [de]serialization. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - Emit the IL necessary to perform the given actions - to serialize this data. - - Details and utilities for the method being generated. - The source of the data to work against; - If the value is only needed once, then LoadValue is sufficient. If - the value is needed multiple times, then note that a "null" - means "the top of the stack", in which case you should create your - own copy - GetLocalWithValue. - - - - Emit the IL necessary to perform the given actions to deserialize this data. - - Details and utilities for the method being generated. - For nested values, the instance holding the values; note - that this is not always provided - a null means not supplied. Since this is always - a variable or argument, it is not necessary to consume this value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - Uses protocol buffer serialization on the specified operation; note that this - must be enabled on both the client and server. - - - - - Configuration element to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - - - - - Creates a new ProtoBehaviorExtension instance. - - - - - Creates a behavior extension based on the current configuration settings. - - The behavior extension. - - - - Gets the type of behavior. - - - - - Behavior to swap out DatatContractSerilaizer with the XmlProtoSerializer for a given endpoint. - - Add the following to the server and client app.config in the system.serviceModel section: - - - - - - - - - - - - - - Configure your endpoints to have a behaviorConfiguration as follows: - - - - - - - - - - - - - Describes a WCF operation behaviour that can perform protobuf serialization - - - - - Create a new ProtoOperationBehavior instance - - - - - Creates a protobuf serializer if possible (falling back to the default WCF serializer) - - - - - The type-model that should be used with this behaviour - - - - - An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) - - - - - Attempt to create a new serializer for the given model and type - - A new serializer instance if the type is recognised by the model; null otherwise - - - - Creates a new serializer for the given model and type - - - - - Ends an object in the output - - - - - Begins an object in the output - - - - - Writes the body of an object in the output - - - - - Indicates whether this is the start of an object we are prepared to handle - - - - - Reads the body of an object - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - diff --git a/packages/protobuf-net.2.0.0.470/lib/sl3-wp/protobuf-net.XML b/packages/protobuf-net.2.0.0.470/lib/sl3-wp/protobuf-net.XML deleted file mode 100644 index e643511..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/sl3-wp/protobuf-net.XML +++ /dev/null @@ -1,2323 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Precompiles the serializer for a given type. - - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - - diff --git a/packages/protobuf-net.2.0.0.470/lib/sl4/protobuf-net.xml b/packages/protobuf-net.2.0.0.470/lib/sl4/protobuf-net.xml deleted file mode 100644 index 55b6ddd..0000000 --- a/packages/protobuf-net.2.0.0.470/lib/sl4/protobuf-net.xml +++ /dev/null @@ -1,2364 +0,0 @@ - - - - protobuf-net - - - - - Provides support for common .NET types that do not have a direct representation - in protobuf, using the definitions from bcl.proto - - - - - Creates a new instance of the specified type, bypassing the constructor. - - The type to create - The new instance - If the platform does not support constructor-skipping - - - - Writes a TimeSpan to a protobuf stream - - - - - Parses a TimeSpan from a protobuf stream - - - - - Parses a DateTime from a protobuf stream - - - - - Writes a DateTime to a protobuf stream - - - - - Parses a decimal from a protobuf stream - - - - - Writes a decimal to a protobuf stream - - - - - Writes a Guid to a protobuf stream - - - - - Parses a Guid from a protobuf stream - - - - - Reads an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Writes an *implementation specific* bundled .NET object, including (as options) type-metadata, identity/re-use, etc. - - - - - Optional behaviours that introduce .NET-specific functionality - - - - - No special behaviour - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - If false, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Provides a simple buffer-based implementation of an extension object. - - - - - Provides addition capability for supporting unexpected fields during - protocol-buffer serialization/deserialization. This allows for loss-less - round-trip/merge, even when the data is not fully understood. - - - - - Requests a stream into which any unexpected fields can be persisted. - - A new stream suitable for storing data. - - - - Indicates that all unexpected fields have now been stored. The - implementing class is responsible for closing the stream. If - "commit" is not true the data may be discarded. - - The stream originally obtained by BeginAppend. - True if the append operation completed successfully. - - - - Requests a stream of the unexpected fields previously stored. - - A prepared stream of the unexpected fields. - - - - Indicates that all unexpected fields have now been read. The - implementing class is responsible for closing the stream. - - The stream originally obtained by BeginQuery. - - - - Requests the length of the raw binary stream; this is used - when serializing sub-entities to indicate the expected size. - - The length of the binary stream representing unexpected data. - - - Specifies a method on the root-contract in an hierarchy to be invoked before serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after serialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. - - - Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. - - - - Sub-format to use when serializing/deserializing data - - - - - Uses the default encoding for the data-type. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that zigzag variant encoding will be used. This means that values - with small magnitude (regardless of sign) take a small amount - of space to encode. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that two's-complement variant encoding will be used. - This means that any -ve number will take 10 bytes (even for 32-bit), - so should only be used for compatibility. - - - - - When applied to signed integer-based data (including Decimal), this - indicates that a fixed amount of space will be used. - - - - - When applied to a sub-message, indicates that the value should be treated - as group-delimited. - - - - - Simple base class for supporting unexpected fields allowing - for loss-less round-tips/merge, even if the data is not understod. - The additional fields are (by default) stored in-memory in a buffer. - - As an example of an alternative implementation, you might - choose to use the file system (temporary files) as the back-end, tracking - only the paths [such an object would ideally be IDisposable and use - a finalizer to ensure that the files are removed]. - - - - - Indicates that the implementing type has support for protocol-buffer - extensions. - - Can be implemented by deriving from . - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Retrieves the extension object for the current - instance, optionally creating it if it does not already exist. - - Should a new extension object be - created if it does not already exist? - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Provides a simple, default implementation for extension support, - optionally creating it if it does not already exist. Designed to be called by - classes implementing . - - Should a new extension object be - created if it does not already exist? - The extension field to check (and possibly update). - The extension object if it exists (or was created), or null - if the extension object does not exist or is not available. - The createIfMissing argument is false during serialization, - and true during deserialization upon encountering unexpected fields. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The type of the value to append. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Appends the value as an additional (unexpected) data-field for the instance. - Note that for non-repeated sub-objects, this equates to a merge operation; - for repeated sub-objects this adds a new instance to the set; for simple - values the new value supercedes the old value. - - Note that appending a value does not remove the old value from - the stream; avoid repeatedly appending values for the same field. - The data-type of the field. - The model that represents the data. - The data-format to use when encoding the value. - The extensible object to append the value to. - The field identifier; the tag should not be defined as a known data-field for the instance. - The value to append. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned is the composed value after merging any duplicated content; if the - value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - The effective value of the field, or the default value if not found. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - The value returned (in "value") is the composed value after merging any duplicated content; - if the value is "repeated" (a list), then use GetValues instead. - - The data-type of the field. - The effective value of the field, or the default value if not found. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - Allow tags that are present as part of the definition; for example, to query unknown enum values. - True if data for the field was present, false otherwise. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - An enumerator that yields each occurrence of the field. - - - - Queries an extensible object for an additional (unexpected) data-field for the instance. - Each occurrence of the field is yielded separately, making this usage suitable for "repeated" - (list) fields. - - The extended data is processed lazily as the enumerator is iterated. - The data-type of the field. - The extensible object to obtain the value from. - The field identifier; the tag should not be defined as a known data-field for the instance. - The data-format to use when decoding the value. - An enumerator that yields each occurrence of the field. - - - - This class acts as an internal wrapper allowing us to do a dynamic - methodinfo invoke; an't put into Serializer as don't want on public - API; can't put into Serializer<T> since we need to invoke - accross classes, which isn't allowed in Silverlight) - - - - - All this does is call GetExtendedValuesTyped with the correct type for "instance"; - this ensures that we don't get issues with subclasses declaring conflicting types - - the caller must respect the fields defined for the type they pass in. - - - - - Reads the given value(s) from the instance's stream; the serializer - is inferred from TValue and format. For singletons, each occurrence - is merged [only applies for sub-objects], and the composed - value if yielded once; otherwise ("repeated") each occurrence - is yielded separately. - - Needs to be public to be callable thru reflection in Silverlight - - - - Stores the given value into the instance's stream; the serializer - is inferred from TValue and format. - - Needs to be public to be callable thru reflection in Silverlight - - - - Not all frameworks are created equal (fx1.1 vs fx2.0, - micro-framework, compact-framework, - silverlight, etc). This class simply wraps up a few things that would - otherwise make the real code unnecessarily messy, providing fallback - implementations if necessary. - - - - - Intended to be a direct map to regular TypeCode, but: - - with missing types - - existing on WinRT - - - - - Specifies the method used to infer field tags for members of the type - under consideration. Tags are deduced using the invariant alphabetic - sequence of the members' names; this makes implicit field tags very brittle, - and susceptible to changes such as field names (normally an isolated - change). - - - - - No members are serialized implicitly; all members require a suitable - attribute such as [ProtoMember]. This is the recmomended mode for - most scenarios. - - - - - Public properties and fields are eligible for implicit serialization; - this treats the public API as a contract. Ordering beings from ImplicitFirstTag. - - - - - Public and non-public fields are eligible for implicit serialization; - this acts as a state/implementation serializer. Ordering beings from ImplicitFirstTag. - - - - - Represents the set of serialization callbacks to be used when serializing/deserializing a type. - - - - Called before serializing an instance - - - Called before deserializing an instance - - - Called after serializing an instance - - - Called after deserializing an instance - - - - True if any callback is set, else False - - - - - Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined - - - - - Get the name of the type being represented - - - - - Adds a known sub-type to the inheritance model - - - - - Obtains the subtypes that are defined for the current type - - - - - Assigns the callbacks to use during serialiation/deserialization. - - The method (or null) called before serialization begins. - The method (or null) called when serialization is complete. - The method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The method (or null) called when deserialization is complete. - The set of callbacks. - - - - Assigns the callbacks to use during serialiation/deserialization. - - The name of the method (or null) called before serialization begins. - The name of the method (or null) called when serialization is complete. - The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). - The name of the method (or null) called when deserialization is complete. - The set of callbacks. - - - - Designate a factory-method to use to create instances of this type - - - - - Designate a factory-method to use to create instances of this type - - - - - Throws an exception if the type has been made immutable - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Adds a member (by name) to the MetaType - - - - - Performs serialization of this type via a surrogate; all - other serialization options are ignored and handled - by the surrogate's configuration. - - - - - Adds a set of members (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists - - - - - Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists, returning the ValueMember rather than the fluent API. - This is otherwise identical to Add. - - - - - Gets the base-type for this type - - - - - When used to compile a model, should public serialization/deserialzation methods - be included for this type? - - - - - Should this type be treated as a reference by default? - - - - - Indicates whether the current type has defined callbacks - - - - - Indicates whether the current type has defined subtypes - - - - - Returns the set of callbacks defined for this type - - - - - The runtime type that the meta-type represents - - - - - Gets or sets whether the type should use a parameterless constructor (the default), - or whether the type should skip the constructor completely. This option is not supported - on compact-framework. - - - - - The concrete type to create when a new instance of this type is needed; this may be useful when dealing - with dynamic proxies, or with interface-based APIs - - - - - Returns the ValueMember that matchs a given field number, or null if not found - - - - - Returns the ValueMember that matchs a given member (property/field), or null if not found - - - - - Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather - than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. - - - - - Gets or sets a value indicating that this type should NOT be treated as a list, even if it has - familiar list-like characteristics (enumerable, add, etc) - - - - - Provides protobuf serialization support for a number of types that can be defined at runtime - - - - - Provides protobuf serialization support for a number of types - - - - - This is the more "complete" version of Serialize, which handles single instances of mapped types. - The value is written as a complete field, including field-header and (for sub-objects) a - length-prefix - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType - - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Used to resolve types on a per-field basis. - Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - On a field-by-field basis, the type of object to deserialize (can be null if "type" is specified). - The type of object to deserialize (can be null if "resolver" is specified). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - Additional information about this serialization operation. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - The type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The number of bytes to consume (or -1 to read to the end of the stream). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - Additional information about this serialization operation. - - - - This is the more "complete" version of Deserialize, which handles single instances of mapped types. - The value is read as a complete field, including field-header and (for sub-objects) a - length-prefix..kmc - - In addition to that, this provides support for: - - basic values; individual int / string / Guid / etc - - IList sets of any type handled by TryDeserializeAuxiliaryType - - - - - Creates a new runtime model, to which the caller - can add support for a range of types. A model - can be used "as is", or can be compiled for - optimal performance. - - - - - Applies common proxy scenarios, resolving the actual type to consider - - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Provides the key that represents a given type in the current model. - The type is also normalized for proxies at the same time. - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Indicates that while an inheritance tree exists, the exact type encountered was not - specified in that hierarchy and cannot be processed. - - - - - Indicates that the given type was not expected, and cannot be processed. - - - - - Indicates that the given type cannot be constructed; it may still be possible to - deserialize into existing instances. - - - - - Used to provide custom services for writing and parsing type names when using dynamic types. Both parsing and formatting - are provided on a single API as it is essential that both are mapped identically at all times. - - - - - Indicates the type of callback to be used - - - - - Invoked before an object is serialized - - - - - Invoked after an object is serialized - - - - - Invoked before an object is deserialized (or when a new instance is created) - - - - - Invoked after an object is deserialized - - - - - Returns a sequence of the Type instances that can be - processed by this model. - - - - - Adds support for an additional type in this model, optionally - appplying inbuilt patterns. If the type is already known to the - model, the existing type is returned **without** applying - any additional behaviour. - - Inbuilt patterns include: - [ProtoContract]/[ProtoMember(n)] - [DataContract]/[DataMember(Order=n)] - [XmlType]/[XmlElement(Order=n)] - [On{Des|S}erializ{ing|ed}] - ShouldSerialize*/*Specified - - The type to be supported - Whether to apply the inbuilt configuration patterns (via attributes etc), or - just add the type with no additional configuration (the type must then be manually configured). - The MetaType representing this type, allowing - further configuration. - - - - Verifies that the model is still open to changes; if not, an exception is thrown - - - - - Prevents further changes to this model - - - - - Provides the key that represents a given type in the current model. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - Represents the type (including inheritance) to consider. - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Applies a protocol-buffer stream to an existing instance (which may be null). - - Represents the type (including inheritance) to consider. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Global default for that - enables/disables automatic tag generation based on the existing name / order - of the defined members. See - for usage and important warning / explanation. - You must set the global default before attempting to serialize/deserialize any - impacted type. - - - - - Global switch that enables or disables the implicit - handling of "zero defaults"; meanning: if no other default is specified, - it assumes bools always default to false, integers to zero, etc. - - If this is disabled, no such assumptions are made and only *explicit* - default values are processed. This is enabled by default to - preserve similar logic to v1. - - - - - The default model, used to support ProtoBuf.Serializer - - - - - Obtains the MetaType associated with a given Type for the current model, - allowing additional configuration. - - - - - Should support for unexpected types be added automatically? - If false, an exception is thrown when unexpected types - are encountered. - - - - - The amount of time to wait if there are concurrent metadata access operations - - - - - If a lock-contention is detected, this event signals the *owner* of the lock responsible for the blockage, indicating - what caused the problem; this is only raised if the lock-owning code successfully completes. - - - - - Contains the stack-trace of the owning code when a lock-contention scenario is detected - - - - - The stack-trace of the code that owned the lock when a lock-contention scenario occurred - - - - - Event-type that is raised when a lock-contention scenario is detected - - - - - Represents an inherited type in a type hierarchy. - - - - - Creates a new SubType instance. - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - The sub-type to be considered. - - - - The field-number that is used to encapsulate the data (as a nested - message) for the derived dype. - - - - - The sub-type to be considered. - - - - - Event arguments needed to perform type-formatting functions; this could be resolving a Type to a string suitable for serialization, or could - be requesting a Type from a string. If no changes are made, a default implementation will be used (from the assembly-qualified names). - - - - - The type involved in this map; if this is initially null, a Type is expected to be provided for the string in FormattedName. - - - - - The formatted-name involved in this map; if this is initially null, a formatted-name is expected from the type in Type. - - - - - Delegate type used to perform type-formatting functions; the sender originates as the type-model. - - - - - Represents a member (property/field) that is mapped to a protobuf field - - - - - Creates a new ValueMember instance - - - - - Creates a new ValueMember instance - - - - - Specifies methods for working with optional data members. - - Provides a method (null for none) to query whether this member should - be serialized; it must be of the form "bool {Method}()". The member is only serialized if the - method returns true. - Provides a method (null for none) to indicate that a member was - deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" - when data is found. - - - - The number that identifies this member in a protobuf stream - - - - - Gets the member (field/property) which this member relates to. - - - - - Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - - - - - The underlying type of the member - - - - - For abstract types (IList etc), the type of concrete object to create (if required) - - - - - The type the defines the member - - - - - The default value of the item (members with this value will not be serialized) - - - - - Specifies the rules used to process the field; this is used to determine the most appropriate - wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - - - - - Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" - is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that - when serializing the defined type is always used. - - - - - Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Indicates whether this field is mandatory. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used - when inferring a schema). - - - - - Should lists have extended support for null values? Note this makes the serialization less efficient. - - - - - Specifies the type of prefix that should be applied to messages. - - - - - No length prefix is applied to the data; the data is terminated only be the end of the stream. - - - - - A base-128 length prefix is applied to the data (efficient for short messages). - - - - - A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). - - - - - A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). - - - - - Indicates that a type is defined for protocol-buffer serialization. - - - - - Gets or sets the defined name of the type. - - - - - Gets or sets the fist offset to use with implicit field tags; - only uesd if ImplicitFields is set. - - - - - If specified, alternative contract markers (such as markers for XmlSerailizer or DataContractSerializer) are ignored. - - - - - If specified, do NOT treat this type as a list, even if it looks like one. - - - - - Gets or sets the mechanism used to automatically infer field tags - for members. This option should be used in advanced scenarios only. - Please review the important notes against the ImplicitFields enumeration. - - - - - Enables/disables automatic tag generation based on the existing name / order - of the defined members. This option is not used for members marked - with ProtoMemberAttribute, as intended to provide compatibility with - WCF serialization. WARNING: when adding new fields you must take - care to increase the Order for new elements, otherwise data corruption - may occur. - - If not explicitly specified, the default is assumed from . - - - - Has a InferTagFromName value been explicitly set? if not, the default from the type-model is assumed. - - - - - Specifies an offset to apply to [DataMember(Order=...)] markers; - this is useful when working with mex-generated classes that have - a different origin (usually 1 vs 0) than the original data-contract. - - This value is added to the Order of each member. - - - - - If true, the constructor for the type is bypassed during deserialization, meaning any field initializers - or other initialization code is skipped. - - - - - Used to define protocol-buffer specific behavior for - enumerated values. - - - - - Indicates whether this instance has a customised value mapping - - true if a specific value is set - - - - Gets or sets the specific value to use for this enum during serialization. - - - - - Gets or sets the defined name of the enum, as used in .proto - (this name is not used during serialization). - - - - - Indicates an error during serialization/deserialization of a proto stream. - - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - Creates a new ProtoException instance. - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. - - - - - Indicates that a member should be excluded from serialization; this - is only normally used when using implict fields. This allows - ProtoIgnoreAttribute usage - even for partial classes where the individual members are not - under direct control. - - - - - Creates a new ProtoPartialIgnoreAttribute instance. - - Specifies the member to be ignored. - - - - The name of the member to be ignored. - - - - - Indicates the known-types to support for an individual - message. This serializes each level in the hierarchy as - a nested message to retain wire-compatibility with - other protocol-buffer implementations. - - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Creates a new instance of the ProtoIncludeAttribute. - - The unique index (within the type) that will identify this data. - The additional type to serialize/deserialize. - - - - Gets the unique index (within the type) that will identify this data. - - - - - Gets the additional type to serialize/deserialize. - - - - - Gets the additional type to serialize/deserialize. - - - - - Specifies whether the inherited sype's sub-message should be - written with a length-prefix (default), or with group markers. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag. A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Compare with another ProtoMemberAttribute for sorting purposes - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - - - - Gets or sets the original name defined in the .proto; not used - during serialization. - - - - - Gets or sets the data-format to be used when encoding this value. - - - - - Gets the unique tag used to identify this member within the type. - - - - - Gets or sets a value indicating whether this member is mandatory. - - - - - Gets a value indicating whether this member is packed. - This option only applies to list/array data of primitive types (int, double, etc). - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Enables full object-tracking/full-graph support. - - - - - Embeds the type information into the stream, allowing usage with types not known in advance. - - - - - Gets or sets a value indicating whether this member is packed (lists/arrays). - - - - - Additional (optional) settings that control serialization of members - - - - - Default; no additional options - - - - - Indicates that repeated elements should use packed (length-prefixed) encoding - - - - - Indicates that the given item is required - - - - - Enables full object-tracking/full-graph support - - - - - Embeds the type information into the stream, allowing usage with types not known in advance - - - - - Indicates whether this field should *repace* existing values (the default is false, meaning *append*). - This option only applies to list/array data. - - - - - Declares a member to be used in protocol-buffer serialization, using - the given Tag and MemberName. This allows ProtoMemberAttribute usage - even for partial classes where the individual members are not - under direct control. - A DataFormat may be used to optimise the serialization - format (for instance, using zigzag encoding for negative numbers, or - fixed-length encoding for large values. - - - - - Creates a new ProtoMemberAttribute instance. - - Specifies the unique tag used to identify this member within the type. - Specifies the member to be serialized. - - - - The name of the member to be serialized. - - - - - A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call - ReadFieldHeader and (after matching the field) an appropriate Read* method. - - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - - - - Creates a new reader against a stream - - The source stream - The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - Additional context about this serialization operation - The number of bytes to read, or -1 to read until the end of the stream - - - - Releases resources used by the reader, but importantly does not Dispose the - underlying stream; in many typical use-cases the stream is used for different - processes, so it is assumed that the consumer will Dispose their stream separately. - - - - - Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Reads a string from the stream (using UTF8); supported wire-types: String - - - - - Throws an exception indication that the given value cannot be mapped to an enum. - - - - - Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) - parsing the message in accordance with the model associated with the reader - - - - - Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup - marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader - should return zero) - - - - - Begins consuming a nested message in the stream; supported wire-types: StartGroup, String - - The token returned must be help and used when callining EndSubItem - - - - Reads a field header from the stream, setting the wire-type and retuning the field number. If no - more fields are available, then 0 is returned. This methods respects sub-messages. - - - - - Looks ahead to see whether the next field in the stream is what we expect - (typically; what we've just finished reading - for example ot read successive list items) - - - - - Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, - a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - - - - - Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, - SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - - - - - Discards the data for the current field. - - - - - Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - - - - - Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - - Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - - Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length - reader to be created. - - - - The number of bytes consumed; 0 if no data available - - - - Copies the current field into the instance as extension data - - - - - Indicates whether the reader still has data remaining in the current sub-item, - additionally setting the wire-type for the next field if there is more data. - This is used when decoding packed data. - - - - - Utility method, not intended for public use; this helps maintain the root object is complex scenarios - - - - - Gets the number of the field being processed. - - - - - Indicates the underlying proto serialization format on the wire. - - - - - Addition information about this deserialization operation. - - - - - Returns the position of the current reader (note that this is not necessarily the same as the position - in the underlying stream, if multiple readers are used on the same stream) - - - - - Represents an output stream for writing protobuf data. - - Why is the API backwards (static methods with writer arguments)? - See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Write an encapsulated sub-object, using the supplied unique key (reprasenting a type) - but the - caller is asserting that this relationship is non-recursive; no recursion check will be - performed. - - The object to write. - The key that uniquely identifies the type within the model. - The destination. - - - - Writes a field-header, indicating the format of the next data we plan to write. - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Writes a byte-array to the stream; supported wire-types: String - - - - - Indicates the start of a nested record. - - The instance to write. - The destination. - A token representing the state of the stream; this token is given to EndSubItem. - - - - Indicates the end of a nested record. - - The token obtained from StartubItem. - The destination. - - - - Creates a new writer against a stream - - The destination stream - The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - Additional context about this serialization operation - - - - Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed - by this operation. - - - - - Writes any buffered data (if possible) to the underlying stream. - - The writer to flush - It is not always possible to fully flush, since some sequences - may require values to be back-filled into the byte-stream. - - - - Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a string to the stream; supported wire-types: String - - - - - Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - - - - - Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - - - - - Throws an exception indicating that the given enum cannot be mapped to a serialized value. - - - - - Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - - - - - Copies any extension data stored for the instance to the underlying stream - - - - - Used for packed encoding; indicates that the next field should be skipped rather than - a field header written. Note that the field number must match, else an exception is thrown - when the attempt is made to write the (incorrect) field. The wire-type is taken from the - subsequent call to WriteFieldHeader. Only primitive types can be packed. - - - - - Specifies a known root object to use during reference-tracked serialization - - - - - Addition information about this serialization operation. - - - - - Additional information about a serialization operation - - - - - Gets or sets a user-defined object containing additional information about this serialization/deserialization operation. - - - - - A default SerializationContext, with minimal information. - - - - - Provides protocol-buffer serialization capability for concrete, attributed types. This - is a *default* model, but custom serializer models are also supported. - - - Protocol-buffer serialization is a compact binary format, designed to take - advantage of sparse data and knowledge of specific data types; it is also - extensible, allowing a type to be deserialized / merged even if some data is - not recognised. - - - - - The field number that is used as a default when serializing/deserializing a list of objects. - The data is treated as repeated message with field number 1. - - - - - Suggest a .proto definition for the given type - - The type to generate a .proto definition for - The .proto definition as a string - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Applies a protocol-buffer stream to an existing instance. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Serializes a given instance and deserializes it as a different type; - this can be used to translate between wire-compatible objects (where - two .NET types represent the same data), or to promote/demote a type - through an inheritance hierarchy. - - No assumption of compatibility is made between the types. - The type of the object being copied. - The type of the new object to be created. - The existing instance to use as a template. - A new instane of type TNewType, with the data from TOldType. - - - - Precompiles the serializer for a given type. - - - - - Reads a sequence of consecutive length-prefixed items from a stream, using - either base-128 or fixed-length prefixes. Base-128 prefixes with a tag - are directly comparable to serializing multiple items in succession - (use the tag to emulate the implicit behavior - when serializing a list/array). When a tag is - specified, any records with different tags are silently omitted. The - tag is ignored. The tag is ignores for fixed-length prefixes. - - The type of object to deserialize. - The binary stream containing the serialized records. - The prefix style used in the data. - The tag of records to return (if non-positive, then no tag is - expected and all records are returned). - The sequence of deserialized objects. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - A new, initialized instance. - - - - Creates a new instance from a protocol-buffer stream that has a length-prefix - on data (to assist with network IO). - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - How to encode the length prefix. - The expected tag of the item (only used with base-128 prefix style). - A new, initialized instance. - - - - Applies a protocol-buffer stream to an existing instance, using length-prefixed - data - useful with network IO. - - The type being merged. - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The type being serialized. - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - Indicates the number of bytes expected for the next message. - The stream containing the data to investigate for a length. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - Indicates the number of bytes expected for the next message. - The buffer containing the data to investigate for a length. - The offset of the first byte to read from the buffer. - The number of bytes to read from the buffer. - The algorithm used to encode the length. - The length of the message, if it could be identified. - True if a length could be obtained, false otherwise. - - - - Releases any internal buffers that have been reserved for efficiency; this does not affect any serialization - operations; simply: it can be used (optionally) to release the buffers for garbage collection (at the expense - of having to re-allocate a new buffer for the next operation, rather than re-use prior buffers). - - - - - Provides non-generic access to the default serializer. - - - - - Create a deep clone of the supplied instance; any sub-items are also cloned. - - - - - Writes a protocol-buffer representation of the given instance to the supplied stream. - - The existing instance to be serialized (cannot be null). - The destination stream to write to. - - - - Creates a new instance from a protocol-buffer stream - - The type to be created. - The binary stream to apply to the new instance (cannot be null). - A new, initialized instance. - - - Applies a protocol-buffer stream to an existing instance. - The existing instance to be modified (cannot be null). - The binary stream to apply to the instance (cannot be null). - The updated instance - - - - Writes a protocol-buffer representation of the given instance to the supplied stream, - with a length-prefix. This is useful for socket programming, - as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back - from an ongoing stream. - - The existing instance to be serialized (cannot be null). - How to encode the length prefix. - The destination stream to write to. - The tag used as a prefix to each record (only used with base-128 style prefixes). - - - - Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed - data - useful with network IO. - - The existing instance to be modified (can be null). - The binary stream to apply to the instance (cannot be null). - How to encode the length prefix. - Used to resolve types on a per-field basis. - The updated instance; this may be different to the instance argument if - either the original instance was null, or the stream defines a known sub-type of the - original instance. - - - - Indicates whether the supplied type is explicitly modelled by the model - - - - - Global switches that change the behavior of protobuf-net - - - - - - - - - - Maps a field-number to a type - - - - - Perform the steps necessary to serialize this data. - - The value to be serialized. - The writer entity that is accumulating the output data. - - - - Perform the steps necessary to deserialize this data. - - The current value, if appropriate. - The reader providing the input data. - The updated / replacement value. - - - - The type that this serializer is intended to work for. - - - - - Indicates whether a Read operation replaces the existing value, or - extends the value. If false, the "value" parameter to Read is - discarded, and should be passed in as null. - - - - - Now all Read operations return a value (although most do); if false no - value should be expected. - - - - - An xml object serializer that can embed protobuf data in a base-64 hunk (looking like a byte[]) - - - - - Attempt to create a new serializer for the given model and type - - A new serializer instance if the type is recognised by the model; null otherwise - - - - Creates a new serializer for the given model and type - - - - - Ends an object in the output - - - - - Begins an object in the output - - - - - Writes the body of an object in the output - - - - - Indicates whether this is the start of an object we are prepared to handle - - - - - Reads the body of an object - - - - - Used to hold particulars relating to nested objects. This is opaque to the caller - simply - give back the token you are given at the end of an object. - - - - - Indicates the encoding used to represent an individual value in a protobuf stream - - - - - Represents an error condition - - - - - Base-128 variant-length encoding - - - - - Fixed-length 8-byte encoding - - - - - Length-variant-prefixed encoding - - - - - Indicates the start of a group - - - - - Indicates the end of a group - - - - - Fixed-length 4-byte encoding - 10 - - - - This is not a formal wire-type in the "protocol buffers" spec, but - denotes a variant integer that should be interpreted using - zig-zag semantics (so -ve numbers aren't a significant overhead) - - - -