diff --git a/ArchiSteamFarm/ArchiSteamFarm.csproj b/ArchiSteamFarm/ArchiSteamFarm.csproj
index 7f6a20974..9bf97f043 100644
--- a/ArchiSteamFarm/ArchiSteamFarm.csproj
+++ b/ArchiSteamFarm/ArchiSteamFarm.csproj
@@ -98,12 +98,11 @@
..\packages\NLog.5.0.0-beta06\lib\net45\NLog.dll
True
-
- ..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll
- True
+
+ ..\packages\protobuf-net.2.1.0\lib\net451\protobuf-net.dll
-
- ..\packages\SteamKit2.1.8.2\lib\net45\SteamKit2.dll
+
+ ..\packages\SteamKit2.2.0.0-Alpha3\lib\net46\SteamKit2.dll
diff --git a/ArchiSteamFarm/packages.config b/ArchiSteamFarm/packages.config
index fe55bca46..232707648 100644
--- a/ArchiSteamFarm/packages.config
+++ b/ArchiSteamFarm/packages.config
@@ -9,7 +9,7 @@
-
+
-
+
\ No newline at end of file
diff --git a/GUI/GUI.csproj b/GUI/GUI.csproj
index cc15436a1..9ea91d1d1 100644
--- a/GUI/GUI.csproj
+++ b/GUI/GUI.csproj
@@ -71,12 +71,11 @@
..\packages\NLog.Windows.Forms.4.2.3\lib\net35\NLog.Windows.Forms.dll
True
-
- ..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll
- True
+
+ ..\packages\protobuf-net.2.1.0\lib\net451\protobuf-net.dll
-
- ..\packages\SteamKit2.1.8.2\lib\net45\SteamKit2.dll
+
+ ..\packages\SteamKit2.2.0.0-Alpha3\lib\net46\SteamKit2.dll
diff --git a/GUI/packages.config b/GUI/packages.config
index db4a90ff9..ec6e1fc46 100644
--- a/GUI/packages.config
+++ b/GUI/packages.config
@@ -10,7 +10,7 @@
-
+
-
+
\ No newline at end of file
diff --git a/packages/SteamKit2.1.8.2/SteamKit2.1.8.2.nupkg b/packages/SteamKit2.1.8.2/SteamKit2.1.8.2.nupkg
deleted file mode 100644
index 5a94a998c..000000000
Binary files a/packages/SteamKit2.1.8.2/SteamKit2.1.8.2.nupkg and /dev/null differ
diff --git a/packages/SteamKit2.1.8.2/lib/net45/SteamKit2.dll b/packages/SteamKit2.1.8.2/lib/net45/SteamKit2.dll
deleted file mode 100644
index 9df185534..000000000
Binary files a/packages/SteamKit2.1.8.2/lib/net45/SteamKit2.dll and /dev/null differ
diff --git a/packages/SteamKit2.2.0.0-Alpha3/3rd party.txt b/packages/SteamKit2.2.0.0-Alpha3/3rd party.txt
new file mode 100644
index 000000000..ce6f94db4
--- /dev/null
+++ b/packages/SteamKit2.2.0.0-Alpha3/3rd party.txt
@@ -0,0 +1,4 @@
+SteamKit2 makes use of the following libraries:
+
+protobuf-net by Marc Gravell (marc.gravell@gmail.com) licensed under Apache License 2.0
+ License and source code available at https://github.com/mgravell/protobuf-net
diff --git a/packages/SteamKit2.2.0.0-Alpha3/SteamKit2.2.0.0-Alpha3.nupkg b/packages/SteamKit2.2.0.0-Alpha3/SteamKit2.2.0.0-Alpha3.nupkg
new file mode 100644
index 000000000..ea8f68d8a
Binary files /dev/null and b/packages/SteamKit2.2.0.0-Alpha3/SteamKit2.2.0.0-Alpha3.nupkg differ
diff --git a/packages/SteamKit2.2.0.0-Alpha3/gpl.txt b/packages/SteamKit2.2.0.0-Alpha3/gpl.txt
new file mode 100644
index 000000000..c69e8aeb5
--- /dev/null
+++ b/packages/SteamKit2.2.0.0-Alpha3/gpl.txt
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
\ No newline at end of file
diff --git a/packages/SteamKit2.2.0.0-Alpha3/lgpl.txt b/packages/SteamKit2.2.0.0-Alpha3/lgpl.txt
new file mode 100644
index 000000000..4362b4915
--- /dev/null
+++ b/packages/SteamKit2.2.0.0-Alpha3/lgpl.txt
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.dll b/packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.dll
new file mode 100644
index 000000000..83686a6a1
Binary files /dev/null and b/packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.dll differ
diff --git a/packages/SteamKit2.1.8.2/lib/net45/SteamKit2.xml b/packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.xml
similarity index 94%
rename from packages/SteamKit2.1.8.2/lib/net45/SteamKit2.xml
rename to packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.xml
index 787b05b9c..27d9ed45b 100644
--- a/packages/SteamKit2.1.8.2/lib/net45/SteamKit2.xml
+++ b/packages/SteamKit2.2.0.0-Alpha3/lib/net46/SteamKit2.xml
@@ -323,119 +323,6 @@
The data representing a client message.
-
-
- Represents a unified interface into client messages.
-
-
-
-
- Gets a value indicating whether this client message is protobuf backed.
-
-
- true if this instance is protobuf backed; otherwise, false.
-
-
-
-
- Gets the network message type of this client message.
-
-
- The message type.
-
-
-
-
- Gets or sets the target job id for this client message.
-
-
- The target job id.
-
-
-
-
- Gets or sets the source job id for this client message.
-
-
- The source job id.
-
-
-
-
- Serializes this client message instance to a byte array.
-
- Data representing a client message.
-
-
-
- Initializes this client message by deserializing the specified data.
-
- The data representing a client message.
-
-
-
- This is the abstract base class for all available game coordinator messages.
- It's used to maintain packet payloads and provide a header for all gc messages.
-
- The header type for this gc message.
-
-
-
- Gets a value indicating whether this gc message is protobuf backed.
-
-
- true if this instance is protobuf backed; otherwise, false.
-
-
-
-
- Gets the network message type of this gc message.
-
-
- The network message type.
-
-
-
-
- Gets or sets the target job id for this gc message.
-
-
- The target job id.
-
-
-
-
- Gets or sets the source job id for this gc message.
-
-
- The source job id.
-
-
-
-
- Gets the header for this message type.
-
-
-
-
- Initializes a new instance of the class.
-
- The number of bytes to initialize the payload capacity to.
-
-
-
- Serializes this gc message instance to a byte array.
-
-
- Data representing a gc message.
-
-
-
-
- Initializes this gc message by deserializing the specified data.
-
- The data representing a gc message.
-
Represents a protobuf backed game coordinator message.
@@ -602,6 +489,119 @@
The data representing a client message.
+
+
+ Represents a unified interface into client messages.
+
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The message type.
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Serializes this client message instance to a byte array.
+
+ Data representing a client message.
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ This is the abstract base class for all available game coordinator messages.
+ It's used to maintain packet payloads and provide a header for all gc messages.
+
+ The header type for this gc message.
+
+
+
+ Gets a value indicating whether this gc message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this gc message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the target job id for this gc message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this gc message.
+
+
+ The source job id.
+
+
+
+
+ Gets the header for this message type.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Serializes this gc message instance to a byte array.
+
+
+ Data representing a gc message.
+
+
+
+
+ Initializes this gc message by deserializing the specified data.
+
+ The data representing a gc message.
+
Represents a simple unified interface into game coordinator messages recieved from the network.
@@ -750,12 +750,6 @@
The data.
-
-
- This is the base class for the utility class.
- This is for internal use only, and shouldn't be used directly.
-
-
This base client handles the underlying connection to a CM server. This class should not be use directly, but through the class.
@@ -882,6 +876,12 @@
Called when the client is physically disconnected from Steam3.
+
+
+ This is the base class for the utility class.
+ This is for internal use only, and shouldn't be used directly.
+
+
Represents a unified interface into client messages.
@@ -1478,173 +1478,304 @@
The data.
-
+
- A server list provider that uses a file to persist the server list using protobuf
+ Represents data that has been received over the network.
-
+
- Initialize a new instance of FileStorageServerListProvider
+ Occurs when a net message is recieved over the network.
-
+
- Read the stored list of servers from the file
+ Raises the event.
- List of servers if persisted, otherwise an empty list
+ The instance containing the event data.
-
+
- Writes the supplied list of servers to persistent storage
-
- List of server endpoints
- Awaitable task for write completion
-
-
-
- A server list provider that returns an empty list, for consumers that populate the server list themselves
+ The of the current connection.
+ This is non-null between and , inclusive.
-
+
- No-op implementation that returns an empty server list
-
- Empty server list
-
-
-
- No-op implementation that does not persist server list
-
- Server list
- Completed task
-
-
-
- Currently marked quality of a server. All servers start off as Undetermined.
+ Occurs when the physical connection is established.
-
+
- Known good server.
+ Occurs when the physical connection is broken.
-
+
- Known bad server.
+ Connects to the specified end point.
+
+ Task returning the end point.
+ Timeout in milliseconds
+
+
+
+ Disconnects this instance.
-
+
- Smart list of CM servers.
+ Sends the specified client net message.
+
+ The client net message.
+
+
+
+ Gets the local IP.
+
+ The local IP.
+
+
+
+ Sets the network encryption filter for this connection
+
+ filter implementing
+
+
+
+ Connects to the specified end point.
+
+ Task returning the end point.
+ Timeout in milliseconds
+
+
+
+ Nets the loop.
-
+
- Initialize SmartCMServerList with a given server list provider
-
- The ServerListProvider to persist servers
- Specifies if we can query SteamDirectory to discover more servers
-
-
-
- Initialize SmartCMServerList with the default server list provider
+ Seconds to wait before sending packets.
-
+
- The server list provider chosen to provide a persistent list of servers to connect to
+ Seconds to wait before considering the connection dead.
-
+
- The preferred cell id for retrieving the list of servers from the Steam directory
+ Maximum number of packets to resend when RESEND_DELAY is exceeded.
-
+
- Determines how long a server's bad connection state is remembered for.
+ Maximum number of packets that we can be waiting on at a time.
-
+
- Resets the scores of all servers which has a last bad connection more than ago.
+ Contains information about the state of the connection, used to filter out packets that are
+ unexpected or not valid given the state of the connection.
-
+
- Replace the list with a new list of servers provided to us by the Steam servers.
-
- The s to use for this .
-
-
-
- Explicitly resets the known state of all servers.
+ The next outgoing sequence number to be used.
-
+
- Perform the actual score lookup of the server list and return the candidate
-
- IPEndPoint candidate
-
-
-
- Get the next server in the list.
-
- An , or null if the list is empty.
-
-
-
- Get the next server in the list.
-
- An , or null if the list is empty.
-
-
-
- Gets the s of all servers in the server list.
-
- An array contains the s of the servers in the list
-
-
-
- A server list provider that uses IsolatedStorage to persist the server list
+ The highest sequence number of an outbound packet that has been sent.
-
+
- Initialize a new instance of IsolatedStorageServerListProvider using
+ The sequence number of the highest packet acknowledged by the server.
-
+
- Read the stored list of servers from IsolatedStore
-
- List of servers if persisted, otherwise an empty list
-
-
-
- Writes the supplied list of servers to persistent storage
-
- List of server endpoints
- Awaitable task for write completion
-
-
-
- An interface for persisting the server list for connection discovery
+ The sequence number we plan on acknowledging receiving with the next Ack. All packets below or equal
+ to inSeq *must* have been received, but not necessarily handled.
-
+
- Ask a provider to fetch any servers that it has available
+ The highest sequence number we've acknowledged receiving.
- A list of IPEndPoints representing servers
-
+
- Update the persistent list of endpoints
+ The highest sequence number we've processed.
- List of endpoints
+
+
+
+ Connects to the specified CM server.
+
+ Task returning the CM server.
+ Timeout in milliseconds
+
+
+
+ Disconnects this instance, blocking until the queue of messages is empty or the connection
+ is otherwise terminated.
+
+
+
+
+ Serializes and sends the provided message to the server in as many packets as is necessary.
+
+ The ClientMsg
+
+
+
+ Sends the data sequenced as a single message, splitting it into multiple parts if necessary.
+
+ The data to send.
+
+
+
+ Sends the packet as a sequenced, reliable packet.
+
+ The packet.
+
+
+
+ Sends the packets as one sequenced, reliable net message.
+
+ The packets that make up the single net message
+
+
+
+ Sends a packet immediately.
+
+ The packet.
+
+
+
+ Sends a datagram Ack, used when an Ack needs to be sent but there is no data response to piggy-back on.
+
+
+
+
+ Sends or resends sequenced messages, if necessary. Also responsible for throttling
+ the rate at which they are sent.
+
+
+
+
+ Returns the number of message parts in the next message.
+
+ Non-zero number of message parts if a message is ready to be handled, 0 otherwise
+
+
+
+ Dispatches up to one message to the rest of SteamKit
+
+ True if a message was dispatched, false otherwise
+
+
+
+ Processes incoming packets, maintains connection consistency, and oversees outgoing packets.
+
+
+
+
+ Receives the packet, performs all sanity checks and then passes it along as necessary.
+
+ The packet.
+
+
+
+ Receives the challenge and responds with a Connect request
+
+ The packet.
+
+
+
+ Receives the notification of an accepted connection and sets the connection id that will be used for the
+ connection's duration.
+
+ The packet.
+
+
+
+ Receives typical data packets before dispatching them for consumption by the rest of SteamKit
+
+ The packet.
+
+
+
+ Sets the network encryption filter for this connection
+
+ filter implementing
+
+
+
+ Gets a value indicating whether this instance is valid.
+
+
+ true if this instance is valid; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class with
+ information from the memory stream.
+
+ Header is populated from the MemoryStream
+
+ The stream containing the packet and it's payload data.
+
+
+
+ Initializes a new instance of the class, with
+ no payload.
+
+ Header must be populated manually.
+
+ The type.
+
+
+
+ Initializes a new instance of the class, of the
+ specified type containing the specified payload.
+
+ Header must be populated manually.
+
+ The type.
+ The payload.
+
+
+
+ Initializes a new instance of the class, of the
+ specified type containing the first 'length' bytes of specified payload.
+
+ Header must be populated manually.
+
+ The type.
+ The payload.
+ The length.
+
+
+
+ Sets the payload
+
+ The payload to copy.
+
+
+
+ Sets the payload.
+
+ The payload.
+ The length.
+
+
+
+ Serializes the UdpPacket.
+
+ The serialized packet.
@@ -1765,7 +1896,7 @@
This must be present when connected to steam non-anonymously.
-
+
Fetches a list of content servers.
@@ -1784,14 +1915,14 @@
Check that the associated with this instance is logged onto Steam.
-
+
Connects and initializes a session to the specified content server.
The content server to connect to.
csServer was null.
-
+
Authenticate a CDNClient to a depot in the connected session
@@ -1802,7 +1933,7 @@
CDN auth token for CDN content server endpoints.
-
+
Downloads the depot manifest specified by the given manifest ID, and optionally decrypts the manifest's filenames if the depot decryption key has been provided.
@@ -1810,7 +1941,7 @@
The unique identifier of the manifest to be downloaded.
A instance that contains information about the files present within a depot.
-
+
Downloads the depot manifest specified by the given manifest ID, and optionally decrypts the manifest's filenames if the depot decryption key has been provided.
@@ -1824,7 +1955,7 @@
A instance that contains information about the files present within a depot.
-
+
Downloads the specified depot chunk, and optionally processes the chunk and verifies the checksum if the depot decryption key has been provided.
@@ -1835,12 +1966,12 @@
The id of the depot being accessed.
A instance that represents the chunk to download.
- This value should come from a manifest downloaded with .
+ This value should come from a manifest downloaded with .
A instance that contains the data for the given chunk.
chunk's was null.
-
+
Downloads the specified depot chunk, and optionally processes the chunk and verifies the checksum if the depot decryption key has been provided.
@@ -1851,7 +1982,7 @@
The id of the depot being accessed.
A instance that represents the chunk to download.
- This value should come from a manifest downloaded with .
+ This value should come from a manifest downloaded with .
A instance that contains the data for the given chunk.
CDN hostname.
@@ -1862,2464 +1993,207 @@
chunk's was null.
-
+
- This handler is used for interacting with remote storage and user generated content.
+ Disposes of this object.
-
+
- This callback is recieved in response to calling .
+ A server list provider that uses a file to persist the server list using protobuf
-
+
- Gets the result of the request.
+ Initialize a new instance of FileStorageServerListProvider
-
+
- Gets the App ID the UGC is for.
+ Read the stored list of servers from the file
+
+ List of servers if persisted, otherwise an empty list
+
+
+
+ Writes the supplied list of servers to persistent storage
+
+ List of server endpoints
+ Awaitable task for write completion
+
+
+
+ An interface for persisting the server list for connection discovery
-
+
- Gets the SteamID of the UGC's creator.
+ Ask a provider to fetch any servers that it has available
+
+ A list of IPEndPoints representing servers
+
+
+
+ Update the persistent list of endpoints
+
+ List of endpoints
+
+
+
+ A server list provider that uses IsolatedStorage to persist the server list
-
+
- Gets the URL that the content is located at.
+ Initialize a new instance of IsolatedStorageServerListProvider using
-
+
- Gets the name of the file.
+ Read the stored list of servers from IsolatedStore
+
+ List of servers if persisted, otherwise an empty list
+
+
+
+ Writes the supplied list of servers to persistent storage
+
+ List of server endpoints
+ Awaitable task for write completion
+
+
+
+ A server list provider that returns an empty list, for consumers that populate the server list themselves
-
+
- Gets the size of the file.
+ No-op implementation that returns an empty server list
+
+ Empty server list
+
+
+
+ No-op implementation that does not persist server list
+
+ Server list
+ Completed task
+
+
+
+ Currently marked quality of a server. All servers start off as Undetermined.
-
+
- This callback is recieved in response to calling .
+ Known good server.
-
+
- Gets the result of the request.
+ Known bad server.
-
+
- Gets the App ID the file is for.
+ Smart list of CM servers.
-
+
- Gets the file name request.
+ Initialize SmartCMServerList with a given server list provider
+
+ The ServerListProvider to persist servers
+ Specifies if we can query SteamDirectory to discover more servers
+
+
+
+ Initialize SmartCMServerList with the default server list provider
-
+
- Gets the SHA hash of the file.
+ The server list provider chosen to provide a persistent list of servers to connect to
-
+
- Gets the timestamp of the file.
+ The preferred cell id for retrieving the list of servers from the Steam directory
-
+
- Gets the size of the file.
+ Determines how long a server's bad connection state is remembered for.
-
+
- Gets if the file was explicity deleted by the user.
+ Resets the scores of all servers which has a last bad connection more than ago.
-
+
- This callback is recieved in response to calling .
+ Replace the list with a new list of servers provided to us by the Steam servers.
+
+ The s to use for this .
+
+
+
+ Explicitly resets the known state of all servers.
-
+
- Gets the result of the request.
+ Perform the actual score lookup of the server list and return the candidate
+
+ IPEndPoint candidate
+
+
+
+ Get the next server in the list.
+
+ An , or null if the list is empty.
+
+
+
+ Get the next server in the list.
+
+ An , or null if the list is empty.
+
+
+
+ Gets the s of all servers in the server list.
+
+ An array contains the s of the servers in the list
+
+
+
+ This class implements the base requirements every message handler should inherit from.
-
+
- Gets the resulting UGC handle.
+ Gets the underlying for use in sending replies.
-
+
- Requests details for a specific item of user generated content from the Steam servers.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
+ Gets or sets whether or not the related should imminently expect the server to close the connection.
+ If this is true when the connection is closed, the 's property
+ will be set to true.
- The unique user generated content id.
- The Job ID of the request. This can be used to find the appropriate .
-
+
- Requests details for a specific file in the user's Cloud storage.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
+ Initializes a new instance of the class.
- The app id of the game.
- The path to the file being requested.
- The Job ID of the request. This can be used to find the appropriate .
-
-
- Commit a Cloud file at the given path to make its UGC handle publicly visible.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The app id of the game.
- The path to the file being requested.
- The Job ID of the request. This can be used to find the appropriate .
-
-
+
Handles a client message. This should not be called directly.
The packet message that contains the data.
-
-
- This handler is used for interacting with the Steam network as a game server.
-
-
-
-
- This callback is fired when the game server receives a status reply.
-
-
-
-
- Gets a value indicating whether this game server is VAC secure.
-
-
- true if this server is VAC secure; otherwise, false.
-
-
-
-
- This callback is fired when ticket authentication has completed.
-
-
-
-
- Gets the SteamID the ticket auth completed for.
-
-
-
-
- Gets the GameID the ticket was for.
-
-
-
-
- Gets the authentication state.
-
-
-
-
- Gets the auth session response.
-
-
-
-
- Gets the ticket CRC.
-
-
-
-
- Gets the ticket sequence.
-
-
-
-
- Represents the details required to log into Steam3 as a game server.
-
-
-
-
- Gets or sets the authentication token used to log in as a game server.
-
-
-
-
- Gets or sets the AppID this gameserver will serve.
-
-
-
-
- Represents the details of the game server's current status.
-
-
-
-
- Gets or sets the AppID this game server is serving.
-
-
-
-
- Gets or sets the server's basic state as flags.
-
-
-
-
- Gets or sets the directory the game data is in.
-
-
-
-
- Gets or sets the IP address the game server listens on.
-
-
-
-
- Gets or sets the port the game server listens on.
-
-
-
-
- Gets or sets the port the game server responds to queries on.
-
-
-
-
- Gets or sets the current version of the game server.
-
-
-
-
- Logs onto the Steam network as a persistent game server.
- The client should already have been connected at this point.
- Results are return in a .
-
- The details to use for logging on.
- No logon details were provided.
- Username or password are not set within .
-
-
-
- Logs the client into the Steam3 network as an anonymous game server.
- The client should already have been connected at this point.
- Results are returned in a .
-
- The AppID served by this game server, or 0 for the default.
-
-
-
- Informs the Steam servers that this client wishes to log off from the network.
- The Steam server will disconnect the client, and a will be posted.
-
-
-
-
- Sends the server's status to the Steam network.
- Results are returned in a callback.
-
- A object containing the server's status.
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler handles all game coordinator messaging.
-
-
-
-
- This callback is fired when a game coordinator message is recieved from the network.
-
-
-
-
- Gets the game coordinator message type.
-
-
-
-
- Gets the AppID of the game coordinator the message is from.
-
-
-
-
- Gets a value indicating whether this message is protobuf'd.
-
-
- true if this instance is protobuf'd; otherwise, false.
-
-
-
-
- Gets the actual message.
-
-
-
-
- Sends a game coordinator message for a specific appid.
-
- The GC message to send.
- The app id of the game coordinator to send to.
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler is used for requesting server list details from Steam.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents a single server.
-
-
-
-
- Gets the IP endpoint of the server.
-
-
-
-
- Gets the number of Steam authenticated players on this server.
-
-
-
-
- Gets the list of servers.
-
-
-
-
- Details used when performing a server list query.
-
-
-
-
- Gets or sets the AppID used when querying servers.
-
-
-
-
- Gets or sets the filter used for querying the master server.
- Check https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol for details on how the filter is structured.
-
-
-
-
- Gets or sets the region that servers will be returned from.
-
-
-
-
- Gets or sets the IP address that will be GeoIP located.
- This is done to return servers closer to this location.
-
-
-
-
- Gets or sets the maximum number of servers to return.
-
-
-
-
- Requests a list of servers from the Steam game master server.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The details for the request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler is used for initializing Steam trades with other clients.
-
-
-
-
- This callback is fired when this client receives a trade proposal.
-
-
-
-
- Gets the result.
-
-
-
-
- Gets the screenshot ID of the newly added screenshot.
-
-
-
-
- Width of a screenshot thumnail
-
-
-
-
- Represents the details required to add a screenshot
-
-
-
-
- Gets or sets the Steam game ID this screenshot belongs to
-
- The game ID.
-
-
-
- Gets or sets the UFS image filepath.
-
- The UFS image filepath.
-
-
-
- Gets or sets the UFS thumbnail filepath.
-
- The UFS thumbnail filepath.
-
-
-
- Gets or sets the screenshot caption
-
- The screenshot caption.
-
-
-
- Gets or sets the screenshot privacy
-
- The screenshot privacy.
-
-
-
- Gets or sets the screenshot width
-
- The screenshot width.
-
-
-
- Gets or sets the screenshot height
-
- The screenshot height.
-
-
-
- Gets or sets the creation time
-
- The creation time.
-
-
-
- Gets or sets whether or not the screenshot contains spoilers
-
- Whether or not the screenshot contains spoilers.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Adds a screenshot to the user's screenshot library. The screenshot image and thumbnail must already exist on the UFS.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The details of the screenshot.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler is used for initializing Steam trades with other clients.
-
-
-
-
- This callback is fired when this client receives a trade proposal.
-
-
-
-
- Gets the Trade ID of his proposal, used for replying.
-
-
-
-
- Gets the SteamID of the client that sent the proposal.
-
-
-
-
- Gets the persona name of the client that sent the proposal.
-
-
-
-
- This callback is fired when this client receives the response from a trade proposal.
-
-
-
-
- Gets the Trade ID that this result is for.
-
-
-
-
- Gets the response of the trade proposal.
-
-
-
-
- Gets the SteamID of the client that responded to the proposal.
-
-
-
-
- Gets the number of days Steam Guard is required to have been active on this account.
-
-
-
-
- Gets the number of days a new device cannot trade for.
-
-
-
-
- Gets the default number of days one cannot trade for after a password reset.
-
-
-
-
- Gets the number of days one cannot trade for after a password reset.
-
-
-
-
- This callback is fired when a trading session has started.
-
-
-
-
- Gets the SteamID of the client that this the trading session has started with.
-
-
-
-
- Proposes a trade to another client.
-
- The client to trade.
-
-
-
- Responds to a trade proposal.
-
- The trade id of the received proposal.
- if set to true, the trade will be accepted.
-
-
-
- Cancels an already sent trade proposal.
-
- The user.
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler is used for interacting with Steamworks unified messaging
-
-
-
-
- This callback is returned in response to a service method sent through .
-
-
-
-
- Gets the result of the message.
-
-
-
-
- Gets the raw binary response.
-
-
-
-
- Gets the name of the Service.
-
-
-
-
- Gets the name of the RPC method.
-
-
-
-
- Gets the full name of the service method.
-
-
-
-
- Deserializes the response into a protobuf object.
-
- Protobuf type of the response message.
- The response to the message sent through .
-
-
-
- This callback represents a service notification recieved though .
-
-
-
-
- Gets the name of the Service.
-
-
-
-
- Gets the name of the RPC method.
-
-
-
-
- Gets the full name of the service method.
-
-
-
-
- Gets the protobuf notification body.
-
-
-
-
- This wrapper is used for expression-based RPC calls using Steam Unified Messaging.
-
-
-
-
- Sends a message.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The type of the protobuf object which is the response to the RPC call.
- RPC call expression, e.g. x => x.SomeMethodCall(message);
- Whether this message is a notification or not.
- The JobID of the request. This can be used to find the appropriate .
-
-
-
- Sends a message.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The type of a protobuf object.
- Name of the RPC endpoint. Takes the format ServiceName.RpcName
- The message to send.
- Whether this message is a notification or not.
- The JobID of the request. This can be used to find the appropriate .
-
-
-
- Creates a wrapper for expression-based unified messaging.
-
- The type of a service interface.
- The wrapper.
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler is used for requesting files published on the Steam Workshop.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents the details of a single published file.
-
-
-
-
- Gets the file ID.
-
-
-
-
- Gets the number of reports for this file.
-
-
-
-
- Gets the score of this file, based on up and down votes.
-
-
-
-
- Gets the total count of up votes.
-
-
-
-
- Gets the total count of down votes.
-
-
-
-
- Gets the result.
-
-
-
-
- Gets the list of enumerated files.
-
-
-
-
- Gets the count of total results.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents the details of a single published file.
-
-
-
-
- Gets the file ID.
-
-
-
-
- Gets the result.
-
-
-
-
- Gets the list of enumerated files.
-
-
-
-
- Gets the count of total results.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents the details of a single published file.
-
-
-
-
- Gets the file ID.
-
-
-
-
- Gets the time this file was subscribed to.
-
-
-
-
- Gets the result.
-
-
-
-
- Gets the list of enumerated files.
-
-
-
-
- Gets the count of total results.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents the details of a single published file.
-
-
-
-
- Gets the file ID.
-
-
-
-
- Gets the timestamp of this file.
-
-
-
-
- Gets the result.
-
-
-
-
- Gets the list of enumerated files.
-
-
-
-
- Gets the count of total results.
-
-
-
-
- Represents the details of an enumeration request used for the local user's files.
-
-
-
-
- Gets or sets the AppID of the workshop to enumerate.
-
-
- The AppID.
-
-
-
-
- Gets or sets the sort order.
- This value is only used by .
-
-
- The sort order.
-
-
-
-
- Gets or sets the start index.
-
-
- The start index.
-
-
-
-
- Gets or sets the user action to filter by.
- This value is only used by .
-
-
- The user action.
-
-
-
-
- Enumerates the list of published files for the current logged in user.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The specific details of the request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Enumerates the list of subscribed files for the current logged in user.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The specific details of the request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Enumerates the list of published files for the current logged in user based on user action.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The specific details of the request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Represents the details of an enumeration request for all published files.
-
-
-
-
- Gets or sets the AppID of the workshop to enumerate.
-
-
- The AppID.
-
-
-
-
- Gets or sets the type of the enumeration.
-
-
- The type.
-
-
-
-
- Gets or sets the start index.
-
-
- The start index.
-
-
-
-
- Gets or sets the days.
-
-
- The days.
-
-
-
-
- Gets or sets the number of results to return.
-
-
- The number of results.
-
-
-
-
- Gets the list of tags to enumerate.
-
-
-
-
- Gets the list of user tags to enumerate.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Enumerates the list of all published files on the Steam workshop.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The specific details of the request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Handles a client message. This should not be called directly.
-
- The packet message that contains the data.
-
-
-
- This handler handles Steam user statistic related actions.
-
-
-
-
- Retrieves the number of current players for a given .
- Results are returned in a .
-
- The GameID to request the number of players for.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Retrieves the number of current players for a given app id.
- Results are returned in a .
-
- The app id to request the number of players for.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Asks the Steam back-end for a leaderboard by name for a given appid.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The AppID to request a leaderboard for.
- Name of the leaderboard to request.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Asks the Steam back-end for a leaderboard by name, and will create it if it's not yet.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The AppID to request a leaderboard for.
- Name of the leaderboard to create.
- Sort method to use for this leaderboard
- Display type for this leaderboard.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Asks the Steam back-end for a set of rows in the leaderboard.
- Results are returned in a .
- The returned can also be awaited to retrieve the callback result.
-
- The AppID to request leaderboard rows for.
- ID of the leaderboard to view.
- The Job ID of the request. This can be used to find the appropriate .
- Range start or 0.
- Range end or max leaderboard entries.
- Type of request.
-
-
-
- Handles a client message. This should not be called directly.
-
- The instance containing the event data.
-
-
-
- This callback is fired in response to .
-
-
-
-
- Gets the result of the request.
-
-
-
-
- Gets the current number of players according to Steam.
-
-
-
-
- This callback is fired in response to and .
-
-
-
-
- Gets the result of the request.
-
-
-
-
- Leaderboard ID.
-
-
-
-
- How many entires there are for requested leaderboard.
-
-
-
-
- Sort method to use for this leaderboard.
-
-
-
-
- Display type for this leaderboard.
-
-
-
-
- This callback is fired in response to .
-
-
-
-
- Represents a single package in this response.
-
-
-
-
- Gets the for this entry.
-
-
-
-
- Gets the global rank for this entry.
-
-
-
-
- Gets the score for this entry.
-
-
-
-
- Gets the attached to this entry.
-
-
-
-
- Extra game-defined information regarding how the user got that score.
-
-
-
-
- Gets the result of the request.
-
-
-
-
- How many entires there are for requested leaderboard.
-
-
-
-
- Gets the list of leaderboard entries this response contains.
-
-
-
-
- Tracks a job with this manager.
-
- The asynchronous job to track.
-
-
-
- Passes a callback to a pending async job.
- If the given callback completes the job, the job is removed from this manager.
-
- The JobID.
- The callback.
-
-
-
- Extends the lifetime of a job.
-
- The job identifier.
-
-
-
- Marks a certain job as remotely failed.
-
- The job identifier.
-
-
-
- Cancels and clears all jobs being tracked.
-
-
-
-
- Enables or disables periodic checks for job timeouts.
-
- Whether or not job timeout checks should be enabled.
-
-
-
- This is called periodically to cancel and clear out any jobs that have timed out (no response from Steam).
-
-
-
-
- Retrieves a job from this manager, and optionally removes it from tracking.
-
- The JobID.
- If set to true, this job is removed from tracking.
-
-
-
-
- Thrown when Steam encounters a remote error with a pending .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class.
-
- The error message that explains the reason for the exception.
- The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
-
-
-
- This utility class is used for binding a callback to a function.
-
- The callback type this instance will handle.
-
-
-
- Gets or sets the job ID this callback will handle.
- Setting this field to the maximum value of a ulong will unbind this handler,
- allowing all callbacks of type TCall to be handled.
-
-
-
-
- Gets or sets the function to call when a callback of type TCall arrives.
-
-
-
-
- Initializes a new instance of the class.
-
- The function to call when a callback of type TCall arrives.
- The that is responsible for the routing of callbacks to this handler, or null if the callback will be registered manually.
-
-
-
- Initializes a new instance of the class.
-
- The function to call when a callback of type TCall arrives.
- The that is responsible for the routing of callbacks to this handler, or null if the callback will be registered manually.
- The to filter matching callbacks by. Specify to recieve all callbacks of type TCall.
-
-
-
- Attaches the specified to this handler.
-
- The manager to attach.
-
-
-
- Releases unmanaged resources and performs other cleanup operations before the
- is reclaimed by garbage collection.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- This function will unregister the callback.
-
-
-
-
- This class is a utility for routing callbacks to function calls.
- In order to bind callbacks to functions, an instance of this class must be created for the
- instance that will be posting callbacks.
-
-
-
-
- Initializes a new instance of the class.
-
- The instance to handle the callbacks of.
-
-
-
- Runs a single queued callback.
- If no callback is queued, this method will instantly return.
-
-
-
-
- Blocks the current thread to run a single queued callback.
- If no callback is queued, the method will block for the given timeout.
-
- The length of time to block.
-
-
-
- Blocks the current thread to run all queued callbacks.
- If no callback is queued, the method will block for the given timeout.
-
- The length of time to block.
-
-
-
- Blocks the current thread to run a single queued callback.
- If no callback is queued, the method will block until one is posted.
-
-
-
-
- Manually registers the specified callback handler.
- This is generally not required, as a handler will register itself when it is created.
- If the specified callback is already registered, no exception is thrown.
-
- The callback handler to register.
-
-
-
- Registers the provided to receive callbacks of type .
-
- The of the callbacks that should be subscribed to.
- If this is , all callbacks of type will be recieved.
- The function to invoke with the callback.
- The type of callback to subscribe to.
- An . Disposing of the return value will unsubscribe the .
-
-
-
- Registers the provided to receive callbacks of type .
-
- The function to invoke with the callback.
- An . Disposing of the return value will unsubscribe the .
-
-
-
- Unregisters the specified callback handler.
- This is generally not required, as a handler will unregister itself when disposed or finalized.
- If the specified callback isn't registered, no exception is thrown.
-
- The callback handler to unregister.
-
-
-
- Represents a single client that connects to a UFS server.
-
-
-
-
- This callback is received after attempting to connect to the UFS server.
-
-
-
-
- Gets the result of the connection attempt.
-
- The result.
-
-
-
- This callback is received when the client is physically disconnected from the UFS server.
-
-
-
-
- If true, the disconnection was initiated by calling .
- If false, the disconnection was the cause of something not user-controlled, such as a network failure or
- a forcible disconnection by the remote server.
-
-
-
-
- This callback is returned in response to an attempt to log on to the UFS server through .
-
-
-
-
- Gets the result of the logon
-
-
-
-
- This callback is returned in response to a request to upload a file through .
-
-
-
-
- Gets the result of the upload request
-
-
-
-
- Gets whether or not the file upload should proceed over HTTP
-
-
-
-
- Gets whether or not the file upload should proceed over HTTPS
-
-
-
-
- Gets whether or not the file should be encrypted during upload
-
-
-
-
- Gets the SHA hash of the file to be uploaded
-
-
-
-
- Gets the JobID on the UFS server.
-
-
-
-
- This callback is returned when a file upload through is completed.
-
-
-
-
- Gets the result of the file upload
-
-
-
-
- Gets the SHA hash of the file that was uploaded
-
-
-
-
- Gets the connected universe of this client.
- This value will be if the client is not connected to Steam.
-
- The universe.
-
-
-
- Gets a value indicating whether this instance is connected to the remote UFS server.
-
-
- true if this instance is connected; otherwise, false.
-
-
-
-
- Gets or sets the connection timeout used when connecting to the UFS server.
- The default value is 5 seconds.
-
-
- The connection timeout.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The parent instance that the UFS connection is for.
- Callbacks will also be posted through this instance.
-
-
-
-
- Connects this client to a UFS server.
- This begins the process of connecting and encrypting the data channel between the client and the UFS server.
- Results are returned asynchronously in a .
- If the UFS server that this client attempts to connect to is down, a will be posted instead.
- will not attempt to reconnect to Steam, you must handle this callback and call again, preferrably after a short delay.
- In order to connect to the UFS server, the parent must be connected to the CM server.
-
-
- The of the UFS server to connect to.
- If null, will randomly select a UFS server from the 's list of servers.
-
-
-
-
- Disconnects this client from the UFS server.
- a will be posted upon disconnection.
-
-
-
-
- Represents all the information required to upload a file to the UFS server.
-
-
-
-
- Gets or sets the AppID this upload request is for.
-
-
- The AppID.
-
-
-
-
- Gets or sets the remote name of the file that is being uploaded.
-
-
- The name of the file.
-
-
-
-
- Gets or sets the physical file data for this upload.
-
-
- The file data.
-
-
-
-
- Gets or sets the JobID of this file upload. This value should be assigned from .
-
-
- The job ID.
-
-
-
-
- Attempt to logon to the UFS and authorize the client for the given AppIDs.
- The should be connected before this point.
- Results are returned in a .
-
- The AppIDs to authorize when connecting to the UFS.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Begins a request to upload a file to the UFS.
- The should be logged on before this point.
- Results are returned in a .
-
- The details to use for uploading the file.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Uploads the actual contents of a file to the UFS.
- The should be logged on before this point, and the previous request to upload a file must have completed successfully.
- Results are returned in a .
-
- The details to use for uploading the file.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Sends the specified client message to the UFS server.
- This method will automatically assign the correct of the message, as given by the parent .
-
- The client message to send.
-
-
-
- Helper class to load servers from the Steam Directory Web API.
-
-
-
-
- Initializes 's server list with servers from the Steam Directory.
-
- Cell ID
-
-
-
- Load a list of servers from the Steam Directory.
-
- Cell ID
- A with the Result set to an enumerable list of s.
-
-
-
- Load a list of servers from the Steam Directory.
-
- Cell ID
- Cancellation Token
- A with the Result set to an enumerable list of s.
-
-
-
- Utility class for interacting with the Steam Web API.
-
-
-
-
- Represents a single interface that exists within the Web API.
- This is a dynamic object that allows function calls to interfaces with minimal code.
-
-
-
-
- Gets or sets the timeout value in milliseconds for any web requests made to the WebAPI.
-
-
- The timeout value in milliseconds. The default value is 100,000 milliseconds (100 seconds).
-
-
-
-
- Manually calls the specified Web API function with the provided details.
-
- The function name to call.
- The version of the function to call.
- A dictionary of string key value pairs representing arguments to be passed to the API.
- The http request method. Either "POST" or "GET".
- if set to true this method will be called through the secure API.
- A object representing the results of the Web API call.
- The function name or request method provided were null.
- An network error occurred when performing the request.
- An error occured when parsing the response from the WebAPI.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Provides the implementation for operations that invoke a member.
- Classes derived from the class can
- override this method to specify dynamic behavior for operations such as calling a method.
- This method should not be called directly, it is called through dynamic method calls.
-
-
- Provides information about the dynamic operation.
- The binder.Name property provides the name of the member on which the dynamic operation is performed.
- For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
- class derived from the class, binder.Name returns "SampleMethod".
- The binder.IgnoreCase property specifies whether the member name is case-sensitive.
-
-
- The arguments that are passed to the object member during the invoke operation. For example,
- for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
- class, the first argument to is equal to 100.
-
- The result of the member invocation.
-
- true if the operation is successful; otherwise, false. If this method returns false, the run-time
- binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
-
-
- Dynamic method is called with non-named argument.
- All parameters must be passed as name arguments to API calls.
- - or -
- The dynamic method name was not in the correct format.
- All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
-
-
- The reserved named parameter 'secure' was not a boolean value.
- This parameter is used when requests must go through the secure API.
-
-
- The function version number specified was out of range.
-
-
-
-
- Represents a single interface that exists within the Web API.
- This is a dynamic object that allows function calls to interfaces with minimal code.
- This version of the class makes use of TPL Tasks to provide an asynchronous API.
-
-
-
-
- Manually calls the specified Web API function with the provided details.
-
- The function name to call.
- The version of the function to call.
- A dictionary of string key value pairs representing arguments to be passed to the API.
- The http request method. Either "POST" or "GET".
- if set to true this method will be called through the secure API.
- A that contains a object representing the results of the Web API call.
- The function name or request method provided were null.
- An network error occurred when performing the request.
- An error occured when parsing the response from the WebAPI.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Provides the implementation for operations that invoke a member.
- Classes derived from the class can
- override this method to specify dynamic behavior for operations such as calling a method.
- This method should not be called directly, it is called through dynamic method calls.
-
-
- Provides information about the dynamic operation.
- The binder.Name property provides the name of the member on which the dynamic operation is performed.
- For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
- class derived from the class, binder.Name returns "SampleMethod".
- The binder.IgnoreCase property specifies whether the member name is case-sensitive.
-
-
- The arguments that are passed to the object member during the invoke operation. For example,
- for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
- class, the first argument to is equal to 100.
-
- The result of the member invocation.
-
- true if the operation is successful; otherwise, false. If this method returns false, the run-time
- binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
-
-
- Dynamic method is called with non-named argument.
- All parameters must be passed as name arguments to API calls.
- - or -
- The dynamic method name was not in the correct format.
- All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
-
-
- The reserved named parameter 'secure' was not a boolean value.
- This parameter is used when requests must go through the secure API.
-
-
- The function version number specified was out of range.
-
-
-
-
- Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
-
- The interface to retrieve a handler for.
- An optional API key to be used for authorized requests.
- A dynamic object to interact with the Web API.
-
-
-
- Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
-
- The interface to retrieve a handler for.
- An optional API key to be used for authorized requests.
- A dynamic object to interact with the Web API.
-
-
-
- Represents a globally unique identifier within the Steam network.
- Guaranteed to be unique across all racks and servers for a given Steam universe.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The GID value.
-
-
-
- Performs an implicit conversion from to .
-
- The gid.
-
- The result of the conversion.
-
-
-
-
- Performs an implicit conversion from to .
-
- The gid.
-
- The result of the conversion.
-
-
-
-
- Gets or sets the sequential count for this GID.
-
-
- The sequential count.
-
-
-
-
- Gets or sets the start time of the server that generated this GID.
-
-
- The start time.
-
-
-
-
- Gets or sets the process ID of the server that generated this GID.
-
-
- The process ID.
-
-
-
-
- Gets or sets the box ID of the server that generated this GID.
-
-
- The box ID.
-
-
-
-
- Gets or sets the entire 64bit value of this GID.
-
-
- The value.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Implements the operator ==.
-
- The left side GID.
- The right side GID.
-
- The result of the operator.
-
-
-
-
- Implements the operator !=.
-
- The left side GID.
- The right side GID.
-
- The result of the operator.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Represents a single unique handle to a piece of User Generated Content.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The UGC ID.
-
-
-
- Performs an implicit conversion from to .
-
- The UGC handle.
-
- The result of the conversion.
-
-
-
-
- Performs an implicit conversion from to .
-
- The UGC ID.
-
- The result of the conversion.
-
-
-
-
- Represents a Steam3 depot manifest.
-
-
-
-
- Represents a single chunk within a file.
-
-
-
-
- Gets or sets the SHA-1 hash chunk id.
-
-
-
-
- Gets or sets the expected Adler32 checksum of this chunk.
-
-
-
-
- Gets or sets the chunk offset.
-
-
-
-
- Gets or sets the compressed length of this chunk.
-
-
-
-
- Gets or sets the decompressed length of this chunk.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Represents a single file within a manifest.
-
-
-
-
- Gets the name of the file.
-
-
-
-
- Gets the chunks that this file is composed of.
-
-
-
-
- Gets the file flags
-
-
-
-
- Gets the total size of this file.
-
-
-
-
- Gets the hash of this file.
-
-
-
-
- Gets the list of files within this manifest.
-
-
-
-
- Gets a value indicating whether filenames within this depot are encrypted.
-
-
- true if the filenames are encrypted; otherwise, false.
-
-
-
-
- Attempts to decrypts file names with the given encryption key.
-
- The encryption key.
- true if the file names were successfully decrypted; otherwise, false.
-
-
-
- Represents an identifier of a network task known as a job.
-
-
-
-
- Represents an invalid JobID.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The Job ID to initialize this instance with.
-
-
-
- Performs an implicit conversion from to .
-
- The Job ID.
-
- The result of the conversion.
-
-
-
-
- Performs an implicit conversion from to .
-
- The Job ID.
-
- The result of the conversion.
-
-
-
-
- Performs an implicit conversion from to .
-
- The asynchronous job.
-
- The result of the conversion.
-
-
-
-
- The base class for awaitable versions of a .
- Should not be used or constructed directly, but rather with .
-
-
-
-
- Gets the for this job.
-
-
-
-
- Gets or sets the period of time before this job will be considered timed out and will be canceled. By default this is 10 seconds.
-
-
-
-
- Adds a callback to the async job's result set.
-
- The callback.
- true if this result completes the set; otherwise, false.
-
-
-
- Sets this job as failed, either remotely or due to a message timeout.
-
-
- If set to true this job is marked as failed because Steam informed us of a job failure;
- otherwise, this job has failed due to a message timeout.
-
-
-
-
- Marks this job as having received a heartbeat and extends the job's timeout.
-
-
-
-
- Represents an awaitable version of a .
- Can either be converted to a TPL with or can be awaited directly.
-
- The callback type that will be returned by this async job.
-
-
-
- Initializes a new instance of the class.
-
- The that this job will be associated with.
- The Job ID value associated with this async job.
-
-
-
- Converts this instance into a TPL .
-
-
-
-
- Gets an awaiter used to await this .
- An awaiter instance.
- This method is intended for compiler use rather than use directly in code.
-
-
-
- Adds a callback to the async job's result set. For an , this always completes the set.
-
- The callback.
- Always true.
-
-
-
- Sets this job as failed, either remotely or due to a message timeout.
-
-
- If set to true this job is marked as failed because Steam informed us of a job failure;
- otherwise, this job has failed due to a message timeout.
-
-
-
-
- Represents an awaitable version of a .
- Can either be converted to a TPL with or can be awaited directly.
- This type of async job can contain multiple callback results.
-
- The callback type that will be returned by this async job.
-
-
-
- The set of callback results for an .
-
-
-
-
- Gets a value indicating whether this is complete and contains every result sent by Steam.
-
-
-
-
- Gets a value indicating whether the parent received an incomplete result set and then encountered a remote failure.
-
-
-
-
- Gets a read only collection of callback results for this async job.
-
-
-
-
- Initializes a new instance of the class.
-
- The that this job will be associated with.
- The Job ID value associated with this async job.
- The condition that must be fulfilled for the result set to be considered complete.
-
-
-
- Converts this instance into a TPL .
-
-
-
-
- Gets an awaiter used to await this .
- An awaiter instance.
- This method is intended for compiler use rather than use directly in code.
-
-
-
- Adds a callback to the async job's result set.
-
- The callback.
- true if this result completes the set; otherwise, false.
-
-
-
- Sets this job as failed, either remotely or due to a message timeout.
-
-
- If set to true this job is marked as failed because Steam informed us of a job failure;
- otherwise, this job has failed due to a message timeout.
-
-
-
-
- Represents a backed MessageObject structure, which are often sent by the Steam servers.
-
-
-
-
- Gets the inner object.
-
-
-
-
- Initializes a new instance of the class, using the provided KeyValues object.
-
- The KeyValue backing store for this message object.
-
-
-
- Initializes a new instance of the class with an empty inner KeyValues.
-
-
-
-
- Populates this MessageObject instance from the data inside the given stream.
-
- The stream to load data from.
- true on success; otherwise, false.
-
-
-
- Writes this MessageObject instance to the given stream.
-
- The stream to write to.
-
-
-
- The base class used for wrapping common ulong types, to introduce type safety and distinguish between common types.
-
-
-
-
- Gets or sets the value.
-
-
- The value.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The value to initialize this handle to.
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Indicates whether the current object is equal to another object of the same type.
-
- An object to compare with this object.
-
- true if the current object is equal to the other parameter; otherwise, false.
-
-
-
-
- Represents a handle to a published file on the Steam workshop.
-
-
-
-
- Initializes a new instance of the class.
-
- The file id.
-
-
-
- Performs an implicit conversion from to .
-
- The published file.
-
- The result of the conversion.
-
-
-
-
- Performs an implicit conversion from to .
-
- The file id.
-
- The result of the conversion.
-
-
-
-
- Implements the operator ==.
-
- The first published file.
- The second published file.
-
- The result of the operator.
-
-
-
-
- Implements the operator !=.
-
- The first published file.
- The second published file.
-
- The result of the operator.
-
-
-
-
- This is a debug utility, do not use it to implement your business logic.
-
- This interface is used for logging network messages sent to and received from the Steam server that the client is connected to.
-
-
-
-
- Called when a packet is received from the Steam server.
-
- Network message type of this packet message.
- Raw packet data that was received.
-
-
-
- Called when a packet is about to be sent to the Steam server.
-
- Network message type of this packet message.
- Raw packet data that will be sent.
-
-
-
- Dump any network messages sent to and received from the Steam server that the client is connected to.
- These messages are dumped to file, and can be analyzed further with NetHookAnalyzer, a hex editor, or your own purpose-built tools.
-
- Be careful with this, sensitive data may be written to the disk (such as your Steam password).
-
-
-
-
- Will create a folder in path "%assembly%/nethook/%currenttime%/"
-
-
-
-
- Log to your own folder.
-
- Path to folder.
-
-
-
- Called when a packet is received from the Steam server.
-
- Network message type of this packet message.
- Raw packet data that was received.
-
-
-
- Called when a packet is about to be sent to the Steam server.
-
- Network message type of this packet message.
- Raw packet data that will be sent.
-
-
-
- Gets a value indicating whether this instance is valid.
-
-
- true if this instance is valid; otherwise, false.
-
-
-
-
- Initializes a new instance of the class with
- information from the memory stream.
-
- Header is populated from the MemoryStream
-
- The stream containing the packet and it's payload data.
-
-
-
- Initializes a new instance of the class, with
- no payload.
-
- Header must be populated manually.
-
- The type.
-
-
-
- Initializes a new instance of the class, of the
- specified type containing the specified payload.
-
- Header must be populated manually.
-
- The type.
- The payload.
-
-
-
- Initializes a new instance of the class, of the
- specified type containing the first 'length' bytes of specified payload.
-
- Header must be populated manually.
-
- The type.
- The payload.
- The length.
-
-
-
- Sets the payload
-
- The payload to copy.
-
-
-
- Sets the payload.
-
- The payload.
- The length.
-
-
-
- Serializes the UdpPacket.
-
- The serialized packet.
-
This handler is used for interacting with apps and packages on the Steam network.
@@ -4455,144 +2329,6 @@
Gets the ticket data.
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents a single app in the info response.
-
-
-
-
- The status of a requested app.
-
-
-
-
- The information for this app was requested successfully.
-
-
-
-
- This app is unknown.
-
-
-
-
- Gets the status of the app.
-
-
-
-
- Gets the AppID for this app.
-
-
-
-
- Gets the last change number for this app.
-
-
-
-
- Gets a section data for this app.
-
-
-
-
- Gets the list of apps this response contains.
-
-
-
-
- Gets the number of apps pending in this response.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Represents a single package in this response.
-
-
-
-
- The status of a package.
-
-
-
-
- The information for this package was requested successfully.
-
-
-
-
- This package is unknown.
-
-
-
-
- Gets the status of this package.
-
-
-
-
- Gets the PackageID for this package.
-
-
-
-
- Gets the last change number for this package.
-
-
-
-
- Gets a hash of the package data for caching purposes.
-
-
-
-
- Gets the data for this package.
-
-
-
-
- Gets the list of packages this response contains.
-
-
-
-
- Gets a count of packages pending in this response.
-
-
-
-
- This callback is received in response to calling .
-
-
-
-
- Gets the list of AppIDs that have changed since the last change number request.
-
-
-
-
- Gets the current change number.
-
-
-
-
- Gets a value indicating whether the backend wishes for the client to perform a full update.
-
-
- true if the client should perform a full update; otherwise, false.
-
-
This callback is recieved in response to calling .
@@ -4863,33 +2599,6 @@
Map of beta names to their encryption keys
-
-
- Represents app request details when calling .
-
-
-
-
- Gets or sets the AppID for this request.
-
- The AppID.
-
-
-
- Gets or sets the section flags for this request.
-
- The section flags.
-
-
-
- Gets the Section CRC list for this request.
-
-
-
-
- Initializes a new instance of the class.
-
-
Represents a PICS request used for
@@ -4941,88 +2650,6 @@
The appid to request the ownership ticket of.
The Job ID of the request. This can be used to find the appropriate .
-
-
- Requests app information for a single app. Use the overload for requesting information on a batch of apps.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The app to request information for.
- if set to true, the request supports batches.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests app information for a single app. Use the overload for requesting information on a batch of apps.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The app to request information for.
- if set to true, the request supports batches.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests app information for a list of apps.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The apps to request information for.
- if set to true, the request supports batches.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests app information for a list of apps.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The apps to request information for.
- if set to true, the request supports batches.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests package information for a single package. Use the overload for requesting information on a batch of packages.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The package id to request information for.
- if set to true, request metadata only.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests package information for a list of packages.
- Results are returned in a callback.
- The returned can also be awaited to retrieve the callback result.
-
- Consider using instead.
-
- The packages to request information for.
- if set to true to request metadata only.
- The Job ID of the request. This can be used to find the appropriate .
-
-
-
- Requests a list of app changes since the last provided change number value.
- Results are returned in a callback.
-
- Consider using instead.
-
- The last change number value.
- if set to true, request a change list.
-
Request the depot decryption key for a specified DepotID.
@@ -5144,6 +2771,136 @@
The packet message that contains the data.
+
+
+ This handler is used for interacting with remote storage and user generated content.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the App ID the UGC is for.
+
+
+
+
+ Gets the SteamID of the UGC's creator.
+
+
+
+
+ Gets the URL that the content is located at.
+
+
+
+
+ Gets the name of the file.
+
+
+
+
+ Gets the size of the file.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the App ID the file is for.
+
+
+
+
+ Gets the file name request.
+
+
+
+
+ Gets the SHA hash of the file.
+
+
+
+
+ Gets the timestamp of the file.
+
+
+
+
+ Gets the size of the file.
+
+
+
+
+ Gets if the file was explicity deleted by the user.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the resulting UGC handle.
+
+
+
+
+ Requests details for a specific item of user generated content from the Steam servers.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The unique user generated content id.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Requests details for a specific file in the user's Cloud storage.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The app id of the game.
+ The path to the file being requested.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Commit a Cloud file at the given path to make its UGC handle publicly visible.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The app id of the game.
+ The path to the file being requested.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
This handler handles all interaction with other users on the Steam3 network.
@@ -6098,6 +3855,730 @@
The packet message that contains the data.
+
+
+ This handler handles all game coordinator messaging.
+
+
+
+
+ This callback is fired when a game coordinator message is recieved from the network.
+
+
+
+
+ Gets the game coordinator message type.
+
+
+
+
+ Gets the AppID of the game coordinator the message is from.
+
+
+
+
+ Gets a value indicating whether this message is protobuf'd.
+
+
+ true if this instance is protobuf'd; otherwise, false.
+
+
+
+
+ Gets the actual message.
+
+
+
+
+ Sends a game coordinator message for a specific appid.
+
+ The GC message to send.
+ The app id of the game coordinator to send to.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with the Steam network as a game server.
+
+
+
+
+ This callback is fired when the game server receives a status reply.
+
+
+
+
+ Gets a value indicating whether this game server is VAC secure.
+
+
+ true if this server is VAC secure; otherwise, false.
+
+
+
+
+ This callback is fired when ticket authentication has completed.
+
+
+
+
+ Gets the SteamID the ticket auth completed for.
+
+
+
+
+ Gets the GameID the ticket was for.
+
+
+
+
+ Gets the authentication state.
+
+
+
+
+ Gets the auth session response.
+
+
+
+
+ Gets the ticket CRC.
+
+
+
+
+ Gets the ticket sequence.
+
+
+
+
+ Represents the details required to log into Steam3 as a game server.
+
+
+
+
+ Gets or sets the authentication token used to log in as a game server.
+
+
+
+
+ Gets or sets the AppID this gameserver will serve.
+
+
+
+
+ Represents the details of the game server's current status.
+
+
+
+
+ Gets or sets the AppID this game server is serving.
+
+
+
+
+ Gets or sets the server's basic state as flags.
+
+
+
+
+ Gets or sets the directory the game data is in.
+
+
+
+
+ Gets or sets the IP address the game server listens on.
+
+
+
+
+ Gets or sets the port the game server listens on.
+
+
+
+
+ Gets or sets the port the game server responds to queries on.
+
+
+
+
+ Gets or sets the current version of the game server.
+
+
+
+
+ Logs onto the Steam network as a persistent game server.
+ The client should already have been connected at this point.
+ Results are return in a .
+
+ The details to use for logging on.
+ No logon details were provided.
+ Username or password are not set within .
+
+
+
+ Logs the client into the Steam3 network as an anonymous game server.
+ The client should already have been connected at this point.
+ Results are returned in a .
+
+ The AppID served by this game server, or 0 for the default.
+
+
+
+ Informs the Steam servers that this client wishes to log off from the network.
+ The Steam server will disconnect the client, and a will be posted.
+
+
+
+
+ Sends the server's status to the Steam network.
+ Results are returned in a callback.
+
+ A object containing the server's status.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for requesting server list details from Steam.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents a single server.
+
+
+
+
+ Gets the IP endpoint of the server.
+
+
+
+
+ Gets the number of Steam authenticated players on this server.
+
+
+
+
+ Gets the list of servers.
+
+
+
+
+ Details used when performing a server list query.
+
+
+
+
+ Gets or sets the AppID used when querying servers.
+
+
+
+
+ Gets or sets the filter used for querying the master server.
+ Check https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol for details on how the filter is structured.
+
+
+
+
+ Gets or sets the region that servers will be returned from.
+
+
+
+
+ Gets or sets the IP address that will be GeoIP located.
+ This is done to return servers closer to this location.
+
+
+
+
+ Gets or sets the maximum number of servers to return.
+
+
+
+
+ Requests a list of servers from the Steam game master server.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The details for the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for initializing Steam trades with other clients.
+
+
+
+
+ This callback is fired when this client receives a trade proposal.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the screenshot ID of the newly added screenshot.
+
+
+
+
+ Width of a screenshot thumnail
+
+
+
+
+ Represents the details required to add a screenshot
+
+
+
+
+ Gets or sets the Steam game ID this screenshot belongs to
+
+ The game ID.
+
+
+
+ Gets or sets the UFS image filepath.
+
+ The UFS image filepath.
+
+
+
+ Gets or sets the UFS thumbnail filepath.
+
+ The UFS thumbnail filepath.
+
+
+
+ Gets or sets the screenshot caption
+
+ The screenshot caption.
+
+
+
+ Gets or sets the screenshot privacy
+
+ The screenshot privacy.
+
+
+
+ Gets or sets the screenshot width
+
+ The screenshot width.
+
+
+
+ Gets or sets the screenshot height
+
+ The screenshot height.
+
+
+
+ Gets or sets the creation time
+
+ The creation time.
+
+
+
+ Gets or sets whether or not the screenshot contains spoilers
+
+ Whether or not the screenshot contains spoilers.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Adds a screenshot to the user's screenshot library. The screenshot image and thumbnail must already exist on the UFS.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The details of the screenshot.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for initializing Steam trades with other clients.
+
+
+
+
+ This callback is fired when this client receives a trade proposal.
+
+
+
+
+ Gets the Trade ID of his proposal, used for replying.
+
+
+
+
+ Gets the SteamID of the client that sent the proposal.
+
+
+
+
+ This callback is fired when this client receives the response from a trade proposal.
+
+
+
+
+ Gets the Trade ID that this result is for.
+
+
+
+
+ Gets the response of the trade proposal.
+
+
+
+
+ Gets the SteamID of the client that responded to the proposal.
+
+
+
+
+ Gets the number of days Steam Guard is required to have been active on this account.
+
+
+
+
+ Gets the number of days a new device cannot trade for.
+
+
+
+
+ Gets the default number of days one cannot trade for after a password reset.
+
+
+
+
+ Gets the number of days one cannot trade for after a password reset.
+
+
+
+
+ This callback is fired when a trading session has started.
+
+
+
+
+ Gets the SteamID of the client that this the trading session has started with.
+
+
+
+
+ Proposes a trade to another client.
+
+ The client to trade.
+
+
+
+ Responds to a trade proposal.
+
+ The trade id of the received proposal.
+ if set to true, the trade will be accepted.
+
+
+
+ Cancels an already sent trade proposal.
+
+ The user.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with Steamworks unified messaging
+
+
+
+
+ This callback is returned in response to a service method sent through .
+
+
+
+
+ Gets the result of the message.
+
+
+
+
+ Gets the raw binary response.
+
+
+
+
+ Gets the name of the Service.
+
+
+
+
+ Gets the name of the RPC method.
+
+
+
+
+ Gets the full name of the service method.
+
+
+
+
+ Deserializes the response into a protobuf object.
+
+ Protobuf type of the response message.
+ The response to the message sent through .
+
+
+
+ This callback represents a service notification recieved though .
+
+
+
+
+ Gets the name of the Service.
+
+
+
+
+ Gets the name of the RPC method.
+
+
+
+
+ Gets the full name of the service method.
+
+
+
+
+ Gets the protobuf notification body.
+
+
+
+
+ This wrapper is used for expression-based RPC calls using Steam Unified Messaging.
+
+
+
+
+ Sends a message.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The type of the protobuf object which is the response to the RPC call.
+ RPC call expression, e.g. x => x.SomeMethodCall(message);
+ Whether this message is a notification or not.
+ The JobID of the request. This can be used to find the appropriate .
+
+
+
+ Sends a message.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The type of a protobuf object.
+ Name of the RPC endpoint. Takes the format ServiceName.RpcName
+ The message to send.
+ Whether this message is a notification or not.
+ The JobID of the request. This can be used to find the appropriate .
+
+
+
+ Creates a wrapper for expression-based unified messaging.
+
+ The type of a service interface.
+ The wrapper.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler handles Steam user statistic related actions.
+
+
+
+
+ This callback is fired in response to .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the current number of players according to Steam.
+
+
+
+
+ This callback is fired in response to and .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Leaderboard ID.
+
+
+
+
+ How many entires there are for requested leaderboard.
+
+
+
+
+ Sort method to use for this leaderboard.
+
+
+
+
+ Display type for this leaderboard.
+
+
+
+
+ This callback is fired in response to .
+
+
+
+
+ Represents a single package in this response.
+
+
+
+
+ Gets the for this entry.
+
+
+
+
+ Gets the global rank for this entry.
+
+
+
+
+ Gets the score for this entry.
+
+
+
+
+ Gets the attached to this entry.
+
+
+
+
+ Extra game-defined information regarding how the user got that score.
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ How many entires there are for requested leaderboard.
+
+
+
+
+ Gets the list of leaderboard entries this response contains.
+
+
+
+
+ Retrieves the number of current players for a given app id.
+ Results are returned in a .
+
+ The app id to request the number of players for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a leaderboard by name for a given appid.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request a leaderboard for.
+ Name of the leaderboard to request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a leaderboard by name, and will create it if it's not yet.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request a leaderboard for.
+ Name of the leaderboard to create.
+ Sort method to use for this leaderboard
+ Display type for this leaderboard.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a set of rows in the leaderboard.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request leaderboard rows for.
+ ID of the leaderboard to view.
+ The Job ID of the request. This can be used to find the appropriate .
+ Range start or 0.
+ Range end or max leaderboard entries.
+ Type of request.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The instance containing the event data.
+
This handler handles all user log on/log off related actions and callbacks.
@@ -6256,29 +4737,11 @@
Gets the country this account is connected from.
-
-
- Gets the salt used for the password.
-
-
-
-
- Gets the SHA-1 disgest of the password.
-
-
Gets the count of SteamGuard authenticated computers.
-
-
- Gets a value indicating whether this account is locked with IPT.
-
-
- true if this account is locked with IPT; otherwise, false.
-
-
Gets the account flags for this account.
@@ -6593,7 +5056,7 @@
Gets or sets the target Job ID for the request.
- This is provided in the for a .
+ This is provided in the for a .
The Job ID.
@@ -6714,6 +5177,431 @@
The packet message that contains the data.
+
+
+ This handler is used for requesting files published on the Steam Workshop.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the number of reports for this file.
+
+
+
+
+ Gets the score of this file, based on up and down votes.
+
+
+
+
+ Gets the total count of up votes.
+
+
+
+
+ Gets the total count of down votes.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the time this file was subscribed to.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the timestamp of this file.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ Represents the details of an enumeration request used for the local user's files.
+
+
+
+
+ Gets or sets the AppID of the workshop to enumerate.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the sort order.
+ This value is only used by .
+
+
+ The sort order.
+
+
+
+
+ Gets or sets the start index.
+
+
+ The start index.
+
+
+
+
+ Gets or sets the user action to filter by.
+ This value is only used by .
+
+
+ The user action.
+
+
+
+
+ Enumerates the list of published files for the current logged in user.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Enumerates the list of subscribed files for the current logged in user.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Enumerates the list of published files for the current logged in user based on user action.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Represents the details of an enumeration request for all published files.
+
+
+
+
+ Gets or sets the AppID of the workshop to enumerate.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the type of the enumeration.
+
+
+ The type.
+
+
+
+
+ Gets or sets the start index.
+
+
+ The start index.
+
+
+
+
+ Gets or sets the days.
+
+
+ The days.
+
+
+
+
+ Gets or sets the number of results to return.
+
+
+ The number of results.
+
+
+
+
+ Gets the list of tags to enumerate.
+
+
+
+
+ Gets the list of user tags to enumerate.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Enumerates the list of all published files on the Steam workshop.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ Tracks a job with this manager.
+
+ The asynchronous job to track.
+
+
+
+ Passes a callback to a pending async job.
+ If the given callback completes the job, the job is removed from this manager.
+
+ The JobID.
+ The callback.
+
+
+
+ Extends the lifetime of a job.
+
+ The job identifier.
+
+
+
+ Marks a certain job as remotely failed.
+
+ The job identifier.
+
+
+
+ Cancels and clears all jobs being tracked.
+
+
+
+
+ Enables or disables periodic checks for job timeouts.
+
+ Whether or not job timeout checks should be enabled.
+
+
+
+ This is called periodically to cancel and clear out any jobs that have timed out (no response from Steam).
+
+
+
+
+ Retrieves a job from this manager, and optionally removes it from tracking.
+
+ The JobID.
+ If set to true, this job is removed from tracking.
+
+
+
+
+ Thrown when Steam encounters a remote error with a pending .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message that describes the error.
+
+
+
+ Initializes a new instance of the class.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ This class is a utility for routing callbacks to function calls.
+ In order to bind callbacks to functions, an instance of this class must be created for the
+ instance that will be posting callbacks.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The instance to handle the callbacks of.
+
+
+
+ Runs a single queued callback.
+ If no callback is queued, this method will instantly return.
+
+
+
+
+ Blocks the current thread to run a single queued callback.
+ If no callback is queued, the method will block for the given timeout.
+
+ The length of time to block.
+
+
+
+ Blocks the current thread to run all queued callbacks.
+ If no callback is queued, the method will block for the given timeout.
+
+ The length of time to block.
+
+
+
+ Blocks the current thread to run a single queued callback.
+ If no callback is queued, the method will block until one is posted.
+
+
+
+
+ Registers the provided to receive callbacks of type .
+
+ The of the callbacks that should be subscribed to.
+ If this is , all callbacks of type will be recieved.
+ The function to invoke with the callback.
+ The type of callback to subscribe to.
+ An . Disposing of the return value will unsubscribe the .
+
+
+
+ Registers the provided to receive callbacks of type .
+
+ The function to invoke with the callback.
+ An . Disposing of the return value will unsubscribe the .
+
A callback message
@@ -6905,33 +5793,504 @@
Called when the client is physically disconnected from Steam3.
-
+
- This class implements the base requirements every message handler should inherit from.
+ Represents a single client that connects to a UFS server.
-
+
- Gets the underlying for use in sending replies.
+ This callback is received after attempting to connect to the UFS server.
-
+
- Gets or sets whether or not the related should imminently expect the server to close the connection.
- If this is true when the connection is closed, the 's property
- will be set to true.
+ Gets the result of the connection attempt.
+
+ The result.
+
+
+
+ This callback is received when the client is physically disconnected from the UFS server.
-
+
- Initializes a new instance of the class.
+ If true, the disconnection was initiated by calling .
+ If false, the disconnection was the cause of something not user-controlled, such as a network failure or
+ a forcible disconnection by the remote server.
-
+
- Handles a client message. This should not be called directly.
+ This callback is returned in response to an attempt to log on to the UFS server through .
- The packet message that contains the data.
+
+
+
+ Gets the result of the logon
+
+
+
+
+ This callback is returned in response to a request to upload a file through .
+
+
+
+
+ Gets the result of the upload request
+
+
+
+
+ Gets whether or not the file upload should proceed over HTTP
+
+
+
+
+ Gets whether or not the file upload should proceed over HTTPS
+
+
+
+
+ Gets whether or not the file should be encrypted during upload
+
+
+
+
+ Gets the SHA hash of the file to be uploaded
+
+
+
+
+ Gets the JobID on the UFS server.
+
+
+
+
+ This callback is returned when a file upload through is completed.
+
+
+
+
+ Gets the result of the file upload
+
+
+
+
+ Gets the SHA hash of the file that was uploaded
+
+
+
+
+ Gets the connected universe of this client.
+ This value will be if the client is not connected to Steam.
+
+ The universe.
+
+
+
+ Gets a value indicating whether this instance is connected to the remote UFS server.
+
+
+ true if this instance is connected; otherwise, false.
+
+
+
+
+ Gets or sets the connection timeout used when connecting to the UFS server.
+ The default value is 5 seconds.
+
+
+ The connection timeout.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The parent instance that the UFS connection is for.
+ Callbacks will also be posted through this instance.
+
+
+
+
+ Connects this client to a UFS server.
+ This begins the process of connecting and encrypting the data channel between the client and the UFS server.
+ Results are returned asynchronously in a .
+ If the UFS server that this client attempts to connect to is down, a will be posted instead.
+ will not attempt to reconnect to Steam, you must handle this callback and call again, preferrably after a short delay.
+ In order to connect to the UFS server, the parent must be connected to the CM server.
+
+
+ The of the UFS server to connect to.
+ If null, will randomly select a UFS server from the 's list of servers.
+
+
+
+
+ Disconnects this client from the UFS server.
+ a will be posted upon disconnection.
+
+
+
+
+ Represents all the information required to upload a file to the UFS server.
+
+
+
+
+ Gets or sets the AppID this upload request is for.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the remote name of the file that is being uploaded.
+
+
+ The name of the file.
+
+
+
+
+ Gets or sets the physical file data for this upload.
+
+
+ The file data.
+
+
+
+
+ Gets or sets the JobID of this file upload. This value should be assigned from .
+
+
+ The job ID.
+
+
+
+
+ Attempt to logon to the UFS and authorize the client for the given AppIDs.
+ The should be connected before this point.
+ Results are returned in a .
+
+ The AppIDs to authorize when connecting to the UFS.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Begins a request to upload a file to the UFS.
+ The should be logged on before this point.
+ Results are returned in a .
+
+ The details to use for uploading the file.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Uploads the actual contents of a file to the UFS.
+ The should be logged on before this point, and the previous request to upload a file must have completed successfully.
+ Results are returned in a .
+
+ The details to use for uploading the file.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Sends the specified client message to the UFS server.
+ This method will automatically assign the correct of the message, as given by the parent .
+
+ The client message to send.
+
+
+
+ Helper class to load servers from the Steam Directory Web API.
+
+
+
+
+ Initializes 's server list with servers from the Steam Directory.
+
+ Cell ID
+
+
+
+ Load a list of servers from the Steam Directory.
+
+ Cell ID
+ A with the Result set to an enumerable list of s.
+
+
+
+ Load a list of servers from the Steam Directory.
+
+ Cell ID
+ Cancellation Token
+ A with the Result set to an enumerable list of s.
+
+
+
+ Utility class for interacting with the Steam Web API.
+
+
+
+
+ Represents a single interface that exists within the Web API.
+ This is a dynamic object that allows function calls to interfaces with minimal code.
+
+
+
+
+ Gets or sets the timeout value in milliseconds for any web requests made to the WebAPI.
+
+
+ The timeout value in milliseconds. The default value is 100,000 milliseconds (100 seconds).
+
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ if set to true this method will be called through the secure API.
+ A object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ The http request method. Either "POST" or "GET".
+ if set to true this method will be called through the secure API.
+ A object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Provides the implementation for operations that invoke a member.
+ Classes derived from the class can
+ override this method to specify dynamic behavior for operations such as calling a method.
+ This method should not be called directly, it is called through dynamic method calls.
+
+
+ Provides information about the dynamic operation.
+ The binder.Name property provides the name of the member on which the dynamic operation is performed.
+ For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
+ class derived from the class, binder.Name returns "SampleMethod".
+ The binder.IgnoreCase property specifies whether the member name is case-sensitive.
+
+
+ The arguments that are passed to the object member during the invoke operation. For example,
+ for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
+ class, the first argument to is equal to 100.
+
+ The result of the member invocation.
+
+ true if the operation is successful; otherwise, false. If this method returns false, the run-time
+ binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
+
+
+ Dynamic method is called with non-named argument.
+ All parameters must be passed as name arguments to API calls.
+ - or -
+ The dynamic method name was not in the correct format.
+ All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
+
+
+ The reserved named parameter 'secure' was not a boolean value.
+ This parameter is used when requests must go through the secure API.
+
+
+ The function version number specified was out of range.
+
+
+
+
+ Represents a single interface that exists within the Web API.
+ This is a dynamic object that allows function calls to interfaces with minimal code.
+ This version of the class makes use of TPL Tasks to provide an asynchronous API.
+
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ The http request method. Either "POST" or "GET".
+ if set to true this method will be called through the secure API.
+ A that contains a object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Provides the implementation for operations that invoke a member.
+ Classes derived from the class can
+ override this method to specify dynamic behavior for operations such as calling a method.
+ This method should not be called directly, it is called through dynamic method calls.
+
+
+ Provides information about the dynamic operation.
+ The binder.Name property provides the name of the member on which the dynamic operation is performed.
+ For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
+ class derived from the class, binder.Name returns "SampleMethod".
+ The binder.IgnoreCase property specifies whether the member name is case-sensitive.
+
+
+ The arguments that are passed to the object member during the invoke operation. For example,
+ for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
+ class, the first argument to is equal to 100.
+
+ The result of the member invocation.
+
+ true if the operation is successful; otherwise, false. If this method returns false, the run-time
+ binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
+
+
+ Dynamic method is called with non-named argument.
+ All parameters must be passed as name arguments to API calls.
+ - or -
+ The dynamic method name was not in the correct format.
+ All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
+
+
+ The reserved named parameter 'secure' was not a boolean value.
+ This parameter is used when requests must go through the secure API.
+
+
+ The function version number specified was out of range.
+
+
+
+
+ Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
+
+ The interface to retrieve a handler for.
+ An optional API key to be used for authorized requests.
+ A dynamic object to interact with the Web API.
+
+
+
+ Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
+
+ The interface to retrieve a handler for.
+ An optional API key to be used for authorized requests.
+ A dynamic object to interact with the Web API.
+
+
+
+ Represents a Steam3 depot manifest.
+
+
+
+
+ Represents a single chunk within a file.
+
+
+
+
+ Gets or sets the SHA-1 hash chunk id.
+
+
+
+
+ Gets or sets the expected Adler32 checksum of this chunk.
+
+
+
+
+ Gets or sets the chunk offset.
+
+
+
+
+ Gets or sets the compressed length of this chunk.
+
+
+
+
+ Gets or sets the decompressed length of this chunk.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Represents a single file within a manifest.
+
+
+
+
+ Gets the name of the file.
+
+
+
+
+ Gets the chunks that this file is composed of.
+
+
+
+
+ Gets the file flags
+
+
+
+
+ Gets the total size of this file.
+
+
+
+
+ Gets the hash of this file.
+
+
+
+
+ Gets the list of files within this manifest.
+
+
+
+
+ Gets a value indicating whether filenames within this depot are encrypted.
+
+
+ true if the filenames are encrypted; otherwise, false.
+
+
+
+
+ Attempts to decrypts file names with the given encryption key.
+
+ The encryption key.
+ true if the file names were successfully decrypted; otherwise, false.
@@ -7129,6 +6488,358 @@
A that represents this instance.
+
+
+ Represents a globally unique identifier within the Steam network.
+ Guaranteed to be unique across all racks and servers for a given Steam universe.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The GID value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The gid.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The gid.
+
+ The result of the conversion.
+
+
+
+
+ Gets or sets the sequential count for this GID.
+
+
+ The sequential count.
+
+
+
+
+ Gets or sets the start time of the server that generated this GID.
+
+
+ The start time.
+
+
+
+
+ Gets or sets the process ID of the server that generated this GID.
+
+
+ The process ID.
+
+
+
+
+ Gets or sets the box ID of the server that generated this GID.
+
+
+ The box ID.
+
+
+
+
+ Gets or sets the entire 64bit value of this GID.
+
+
+ The value.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left side GID.
+ The right side GID.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left side GID.
+ The right side GID.
+
+ The result of the operator.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Represents a single unique handle to a piece of User Generated Content.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The UGC ID.
+
+
+
+ Performs an implicit conversion from to .
+
+ The UGC handle.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The UGC ID.
+
+ The result of the conversion.
+
+
+
+
+ Represents an identifier of a network task known as a job.
+
+
+
+
+ Represents an invalid JobID.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The Job ID to initialize this instance with.
+
+
+
+ Performs an implicit conversion from to .
+
+ The Job ID.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The Job ID.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The asynchronous job.
+
+ The result of the conversion.
+
+
+
+
+ The base class for awaitable versions of a .
+ Should not be used or constructed directly, but rather with .
+
+
+
+
+ Gets the for this job.
+
+
+
+
+ Gets or sets the period of time before this job will be considered timed out and will be canceled. By default this is 10 seconds.
+
+
+
+
+ Adds a callback to the async job's result set.
+
+ The callback.
+ true if this result completes the set; otherwise, false.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
+
+
+ Marks this job as having received a heartbeat and extends the job's timeout.
+
+
+
+
+ Represents an awaitable version of a .
+ Can either be converted to a TPL with or can be awaited directly.
+
+ The callback type that will be returned by this async job.
+
+
+
+ Initializes a new instance of the class.
+
+ The that this job will be associated with.
+ The Job ID value associated with this async job.
+
+
+
+ Converts this instance into a TPL .
+
+
+
+
+ Gets an awaiter used to await this .
+ An awaiter instance.
+ This method is intended for compiler use rather than use directly in code.
+
+
+
+ Adds a callback to the async job's result set. For an , this always completes the set.
+
+ The callback.
+ Always true.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
+
+
+ Represents an awaitable version of a .
+ Can either be converted to a TPL with or can be awaited directly.
+ This type of async job can contain multiple callback results.
+
+ The callback type that will be returned by this async job.
+
+
+
+ The set of callback results for an .
+
+
+
+
+ Gets a value indicating whether this is complete and contains every result sent by Steam.
+
+
+
+
+ Gets a value indicating whether the parent received an incomplete result set and then encountered a remote failure.
+
+
+
+
+ Gets a read only collection of callback results for this async job.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The that this job will be associated with.
+ The Job ID value associated with this async job.
+ The condition that must be fulfilled for the result set to be considered complete.
+
+
+
+ Converts this instance into a TPL .
+
+
+
+
+ Gets an awaiter used to await this .
+ An awaiter instance.
+ This method is intended for compiler use rather than use directly in code.
+
+
+
+ Adds a callback to the async job's result set.
+
+ The callback.
+ true if this result completes the set; otherwise, false.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
Represents a recursive string key to arbitrary value container.
@@ -7263,13 +6974,6 @@
This method will swallow any exceptions that occur when reading, use if you wish to handle exceptions.
-
-
- Attempts to load the given filename as a binary .
-
- The path to the file to load.
- a instance if the load was successful, or null on failure.
-
Attempts to load the given filename as a binary .
@@ -7317,13 +7021,6 @@
The to save to.
If set to true, saves this instance as binary.
-
-
- Populate this instance from the given as a binary .
-
- The input to read from.
- true if the read was successful; otherwise, false.
-
Populate this instance from the given as a binary .
@@ -7336,505 +7033,146 @@
Represents the binary Steam3 manifest format.
-
+
- Interface all debug log listeners must implement in order to register themselves.
+ Represents a backed MessageObject structure, which are often sent by the Steam servers.
-
+
- Called when the DebugLog wishes to inform listeners of debug spew.
-
- The category of the message.
- The message to log.
-
-
-
- Represents the root debug logging functionality.
+ Gets the inner object.
-
+
- Gets or sets a value indicating whether debug logging is enabled.
+ Initializes a new instance of the class, using the provided KeyValues object.
+
+ The KeyValue backing store for this message object.
+
+
+
+ Initializes a new instance of the class with an empty inner KeyValues.
+
+
+
+
+ Populates this MessageObject instance from the data inside the given stream.
+
+ The stream to load data from.
+ true on success; otherwise, false.
+
+
+
+ Writes this MessageObject instance to the given stream.
+
+ The stream to write to.
+
+
+
+ The base class used for wrapping common ulong types, to introduce type safety and distinguish between common types.
+
+
+
+
+ Gets or sets the value.
- true if enabled; otherwise, false.
+ The value.
-
+
- Initializes the class.
+ Initializes a new instance of the class.
-
+
- Adds a listener.
+ Initializes a new instance of the class.
- The listener.
+ The value to initialize this handle to.
-
+
- Adds an action listener.
+ Returns a hash code for this instance.
- The listener action.
-
-
-
- Removes a listener.
-
- The listener.
-
-
-
- Removes a listener.
-
- The previously registered listener action.
-
-
-
- Clears all registered listeners from the .
-
-
-
-
- Writes a line to the debug log, informing all listeners.
-
- The category of the message.
- A composite format string.
- An System.Object array containing zero or more objects to format.
-
-
-
- Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.
- This method is equivalent to System.Diagnostics.Debug.Assert, however, it is tailored to spew failed assertions into the SteamKit debug log.
-
- The conditional expression to evaluate. If the condition is true, the specified message is not sent and the message box is not displayed.
- The category of the message.
- The message to display if the assertion fails.
-
-
-
- Contains various utility functions for dealing with dates.
-
-
-
-
- Converts a given unix timestamp to a DateTime
-
- A unix timestamp expressed as seconds since the unix epoch
- DateTime representation
-
-
-
- Converts a given DateTime into a unix timestamp representing seconds since the unix epoch.
-
- DateTime to be expressed
- 64-bit wide representation
-
-
-
- Contains various utility functions for handling EMsgs.
-
-
-
-
- Strips off the protobuf message flag and returns an EMsg.
-
- The message number.
- The underlying EMsg.
-
-
-
- Strips off the protobuf message flag and returns an EMsg.
-
- The message number.
- The underlying EMsg.
-
-
-
- Strips off the protobuf message flag and returns an EMsg.
-
- The message number.
- The underlying EMsg.
-
-
-
- Determines whether message is protobuf flagged.
-
- The message.
- true if this message is protobuf flagged; otherwise, false.
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
+
- Determines whether message is protobuf flagged.
+ Determines whether the specified is equal to this instance.
- The message.
+ The to compare with this instance.
- true if this message is protobuf flagged; otherwise, false.
+ true if the specified is equal to this instance; otherwise, false.
-
+
- Crafts an EMsg, flagging it if required.
+ Returns a that represents this instance.
- The EMsg to flag.
- if set to true, the message is protobuf flagged.
- A crafted EMsg, flagged if requested.
+
+ A that represents this instance.
+
-
+
- Crafts an EMsg, flagging it if required.
+ Indicates whether the current object is equal to another object of the same type.
- The EMsg to flag.
- if set to true, the message is protobuf flagged.
- A crafted EMsg, flagged if requested.
+ An object to compare with this object.
+
+ true if the current object is equal to the other parameter; otherwise, false.
+
-
+
- Connects to the specified end point.
-
- Task returning the end point.
- Timeout in milliseconds
-
-
-
- Nets the loop.
+ Represents a handle to a published file on the Steam workshop.
-
+
- Seconds to wait before sending packets.
+ Initializes a new instance of the class.
+ The file id.
-
+
- Seconds to wait before considering the connection dead.
+ Performs an implicit conversion from to .
+ The published file.
+
+ The result of the conversion.
+
-
+
- Maximum number of packets to resend when RESEND_DELAY is exceeded.
+ Performs an implicit conversion from to .
+ The file id.
+
+ The result of the conversion.
+
-
+
- Maximum number of packets that we can be waiting on at a time.
+ Implements the operator ==.
+ The first published file.
+ The second published file.
+
+ The result of the operator.
+
-
+
- Contains information about the state of the connection, used to filter out packets that are
- unexpected or not valid given the state of the connection.
-
-
-
-
- The next outgoing sequence number to be used.
-
-
-
-
- The highest sequence number of an outbound packet that has been sent.
-
-
-
-
- The sequence number of the highest packet acknowledged by the server.
-
-
-
-
- The sequence number we plan on acknowledging receiving with the next Ack. All packets below or equal
- to inSeq *must* have been received, but not necessarily handled.
-
-
-
-
- The highest sequence number we've acknowledged receiving.
-
-
-
-
- The highest sequence number we've processed.
-
-
-
-
- Connects to the specified CM server.
-
- Task returning the CM server.
- Timeout in milliseconds
-
-
-
- Disconnects this instance, blocking until the queue of messages is empty or the connection
- is otherwise terminated.
-
-
-
-
- Serializes and sends the provided message to the server in as many packets as is necessary.
-
- The ClientMsg
-
-
-
- Sends the data sequenced as a single message, splitting it into multiple parts if necessary.
-
- The data to send.
-
-
-
- Sends the packet as a sequenced, reliable packet.
-
- The packet.
-
-
-
- Sends the packets as one sequenced, reliable net message.
-
- The packets that make up the single net message
-
-
-
- Sends a packet immediately.
-
- The packet.
-
-
-
- Sends a datagram Ack, used when an Ack needs to be sent but there is no data response to piggy-back on.
-
-
-
-
- Sends or resends sequenced messages, if necessary. Also responsible for throttling
- the rate at which they are sent.
-
-
-
-
- Returns the number of message parts in the next message.
-
- Non-zero number of message parts if a message is ready to be handled, 0 otherwise
-
-
-
- Dispatches up to one message to the rest of SteamKit
-
- True if a message was dispatched, false otherwise
-
-
-
- Processes incoming packets, maintains connection consistency, and oversees outgoing packets.
-
-
-
-
- Receives the packet, performs all sanity checks and then passes it along as necessary.
-
- The packet.
-
-
-
- Receives the challenge and responds with a Connect request
-
- The packet.
-
-
-
- Receives the notification of an accepted connection and sets the connection id that will be used for the
- connection's duration.
-
- The packet.
-
-
-
- Receives typical data packets before dispatching them for consumption by the rest of SteamKit
-
- The packet.
-
-
-
- Sets the network encryption filter for this connection
-
- filter implementing
-
-
-
- Represents data that has been received over the network.
-
-
-
-
- Occurs when a net message is recieved over the network.
-
-
-
-
- Raises the event.
-
- The instance containing the event data.
-
-
-
- The of the current connection.
- This is non-null between and , inclusive.
-
-
-
-
- Occurs when the physical connection is established.
-
-
-
-
- Occurs when the physical connection is broken.
-
-
-
-
- Connects to the specified end point.
-
- Task returning the end point.
- Timeout in milliseconds
-
-
-
- Disconnects this instance.
-
-
-
-
- Sends the specified client net message.
-
- The client net message.
-
-
-
- Gets the local IP.
-
- The local IP.
-
-
-
- Sets the network encryption filter for this connection
-
- filter implementing
-
-
-
- Contains the public keys that Steam uses for each of the
- types.
-
-
-
-
- Gets the public key for the given universe.
-
- The public key.
- The universe.
-
-
-
- Handles encrypting and decrypting using the RSA public key encryption
- algorithm.
-
-
-
-
- Initializes a new instance of the class.
-
- The public key to encrypt with.
-
-
-
- Encrypt the specified input.
-
- The encrypted input.
- The input to encrypt.
-
-
-
- Disposes of this class.
-
-
-
-
- Provides Crypto functions used in Steam protocols
-
-
-
-
- Performs an SHA1 hash of an input byte array
-
-
-
-
- Encrypts using AES/CBC/PKCS7 an input byte array with a given key and IV
-
-
-
-
- Decrypts an input byte array using AES/CBC/PKCS7 with a given key and IV
-
-
-
-
- Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
-
-
-
-
- Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
-
-
-
-
- Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
-
-
-
-
- Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
-
-
-
-
- Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
-
-
-
-
- Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
-
-
-
-
- Verifies and performs a symmetricdecrypt on the input using the given password as a key
-
-
-
-
- Decrypts using AES/ECB/PKCS7
-
-
-
-
- Performs CRC32 on an input byte array using the CrcStandard.Crc32Bit parameters
-
-
-
-
- Performs an Adler32 on the given input
-
-
-
-
- Generate an array of random bytes given the input length
+ Implements the operator !=.
+ The first published file.
+ The second published file.
+
+ The result of the operator.
+
@@ -8200,6 +7538,327 @@
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+ Handles encrypting and decrypting using the RSA public key encryption
+ algorithm.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The public key to encrypt with.
+
+
+
+ Encrypt the specified input.
+
+ The encrypted input.
+ The input to encrypt.
+
+
+
+ Disposes of this class.
+
+
+
+
+ Provides Crypto functions used in Steam protocols
+
+
+
+
+ Performs an SHA1 hash of an input byte array
+
+
+
+
+ Encrypts using AES/CBC/PKCS7 an input byte array with a given key and IV
+
+
+
+
+ Decrypts an input byte array using AES/CBC/PKCS7 with a given key and IV
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
+
+
+
+
+ Verifies and performs a symmetricdecrypt on the input using the given password as a key
+
+
+
+
+ Decrypts using AES/ECB/PKCS7
+
+
+
+
+ Performs CRC32 on an input byte array using the CrcStandard.Crc32Bit parameters
+
+
+
+
+ Performs an Adler32 on the given input
+
+
+
+
+ Generate an array of random bytes given the input length
+
+
+
+
+ Interface all debug log listeners must implement in order to register themselves.
+
+
+
+
+ Called when the DebugLog wishes to inform listeners of debug spew.
+
+ The category of the message.
+ The message to log.
+
+
+
+ Represents the root debug logging functionality.
+
+
+
+
+ Gets or sets a value indicating whether debug logging is enabled.
+
+
+ true if enabled; otherwise, false.
+
+
+
+
+ Initializes the class.
+
+
+
+
+ Adds a listener.
+
+ The listener.
+
+
+
+ Adds an action listener.
+
+ The listener action.
+
+
+
+ Removes a listener.
+
+ The listener.
+
+
+
+ Removes a listener.
+
+ The previously registered listener action.
+
+
+
+ Clears all registered listeners from the .
+
+
+
+
+ Writes a line to the debug log, informing all listeners.
+
+ The category of the message.
+ A composite format string.
+ An System.Object array containing zero or more objects to format.
+
+
+
+ Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.
+ This method is equivalent to System.Diagnostics.Debug.Assert, however, it is tailored to spew failed assertions into the SteamKit debug log.
+
+ The conditional expression to evaluate. If the condition is true, the specified message is not sent and the message box is not displayed.
+ The category of the message.
+ The message to display if the assertion fails.
+
+
+
+ This is a debug utility, do not use it to implement your business logic.
+
+ This interface is used for logging network messages sent to and received from the Steam server that the client is connected to.
+
+
+
+
+ Called when a packet is received from the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that was received.
+
+
+
+ Called when a packet is about to be sent to the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that will be sent.
+
+
+
+ Dump any network messages sent to and received from the Steam server that the client is connected to.
+ These messages are dumped to file, and can be analyzed further with NetHookAnalyzer, a hex editor, or your own purpose-built tools.
+
+ Be careful with this, sensitive data may be written to the disk (such as your Steam password).
+
+
+
+
+ Will create a folder in path "%assembly%/nethook/%currenttime%/"
+
+
+
+
+ Log to your own folder.
+
+ Path to folder.
+
+
+
+ Called when a packet is received from the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that was received.
+
+
+
+ Called when a packet is about to be sent to the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that will be sent.
+
+
+
+ Contains the public keys that Steam uses for each of the
+ types.
+
+
+
+
+ Gets the public key for the given universe.
+
+ The public key.
+ The universe.
+
+
+
+ Contains various utility functions for dealing with dates.
+
+
+
+
+ Converts a given unix timestamp to a DateTime
+
+ A unix timestamp expressed as seconds since the unix epoch
+ DateTime representation
+
+
+
+ Converts a given DateTime into a unix timestamp representing seconds since the unix epoch.
+
+ DateTime to be expressed
+ 64-bit wide representation
+
+
+
+ Contains various utility functions for handling EMsgs.
+
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Determines whether message is protobuf flagged.
+
+ The message.
+
+ true if this message is protobuf flagged; otherwise, false.
+
+
+
+
+ Determines whether message is protobuf flagged.
+
+ The message.
+
+ true if this message is protobuf flagged; otherwise, false.
+
+
+
+
+ Crafts an EMsg, flagging it if required.
+
+ The EMsg to flag.
+ if set to true, the message is protobuf flagged.
+ A crafted EMsg, flagged if requested.
+
+
+
+ Crafts an EMsg, flagging it if required.
+
+ The EMsg to flag.
+ if set to true, the message is protobuf flagged.
+ A crafted EMsg, flagged if requested.
+
The exception that is thrown when an error in input stream occurs during decoding.
diff --git a/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.dll b/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.dll
new file mode 100644
index 000000000..b7e049b7c
Binary files /dev/null and b/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.dll differ
diff --git a/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.xml b/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.xml
new file mode 100644
index 000000000..a9332f9fe
--- /dev/null
+++ b/packages/SteamKit2.2.0.0-Alpha3/lib/netstandard1.3/SteamKit2.xml
@@ -0,0 +1,7964 @@
+
+
+
+ SteamKit2
+
+
+
+
+ Represents a protobuf backed client message. Only contains the header information.
+
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+ Client messages of this type are always protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the session id for this client message.
+
+
+ The session id.
+
+
+
+
+ Gets or sets the for this client message.
+
+
+ The .
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Shorthand accessor for the protobuf header.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this client message from.
+
+
+
+ Serializes this client message instance to a byte array.
+
+ This class is for reading Protobuf messages only. If you want to create a protobuf message, use .
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a protobuf backed client message.
+
+ The body type of this message.
+
+
+
+ Gets the body structure of this message.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a client send constructor.
+
+ The network message type this client message represents.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This a reply constructor.
+
+ The network message type this client message represents.
+ The message that this instance is a reply for.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this client message from.
+
+
+
+ Serializes this client message instance to a byte array.
+
+
+ Data representing a client message.
+
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a struct backed client message.
+
+ The body type of this message.
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the session id for this client message.
+
+
+ The session id.
+
+
+
+
+ Gets or sets the for this client message.
+
+
+ The .
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Gets the body structure of this message.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a client send constructor.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This a reply constructor.
+
+ The message that this instance is a reply for.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this client message from.
+
+
+
+ Serializes this client message instance to a byte array.
+
+
+ Data representing a client message.
+
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a struct backed message without session or client info.
+
+ The body type of this message.
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the session id for this client message.
+ This type of client message does not support session ids
+
+
+ The session id.
+
+
+
+
+ Gets or sets the for this client message.
+ This type of client message goes not support SteamIDs.
+
+
+ The .
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Gets the structure body of the message.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a client send constructor.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This a reply constructor.
+
+ The message that this instance is a reply for.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this client message from.
+
+
+
+ Serializes this client message instance to a byte array.
+
+
+ Data representing a client message.
+
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a protobuf backed game coordinator message.
+
+ The body type of this message.
+
+
+
+ Gets a value indicating whether this gc message is protobuf backed.
+ Client messages of this type are always protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this gc message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the target job id for this gc message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this gc message.
+
+
+ The source job id.
+
+
+
+
+ Shorthand accessor for the protobuf header.
+
+
+
+
+ Gets the body structure of this message.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a client send constructor.
+
+ The network message type this gc message represents.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This a reply constructor.
+
+ The network message type this gc message represents.
+ The message that this instance is a reply for.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this gc message from.
+
+
+
+ Serializes this gc message instance to a byte array.
+
+
+ Data representing a gc message.
+
+
+
+
+ Initializes this gc message by deserializing the specified data.
+
+ The data representing a gc message.
+
+
+
+ Represents a struct backed game coordinator message.
+
+ The body type of this message.
+
+
+
+ Gets a value indicating whether this gc message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this gc message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the target job id for this gc message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this gc message.
+
+
+ The source job id.
+
+
+
+
+ Gets the body structure of this message.
+
+
+
+
+ Initializes a new instance of the class.
+ This is a client send constructor.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This a reply constructor.
+
+ The message that this instance is a reply for.
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Initializes a new instance of the class.
+ This is a recieve constructor.
+
+ The packet message to build this gc message from.
+
+
+
+ Serializes this gc message instance to a byte array.
+
+
+ Data representing a client message.
+
+
+
+
+ Initializes this gc message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a unified interface into client messages.
+
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The message type.
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Serializes this client message instance to a byte array.
+
+ Data representing a client message.
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ This is the abstract base class for all available game coordinator messages.
+ It's used to maintain packet payloads and provide a header for all gc messages.
+
+ The header type for this gc message.
+
+
+
+ Gets a value indicating whether this gc message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this gc message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the target job id for this gc message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this gc message.
+
+
+ The source job id.
+
+
+
+
+ Gets the header for this message type.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Serializes this gc message instance to a byte array.
+
+
+ Data representing a gc message.
+
+
+
+
+ Initializes this gc message by deserializing the specified data.
+
+ The data representing a gc message.
+
+
+
+ Represents a simple unified interface into game coordinator messages recieved from the network.
+ This is contrasted with in that this interface is packet body agnostic
+ and only allows simple access into the header. This interface is also immutable, and the underlying
+ data cannot be modified.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents a protobuf backed packet message.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+ This type of message is always protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network message type for this packet message.
+ The data.
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents a packet message with extended header information.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+ This type of message is never protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network message type for this packet message.
+ The data.
+
+
+
+ Gets the underlying data that represents this packet message.
+
+ The data.
+
+
+
+ This base client handles the underlying connection to a CM server. This class should not be use directly, but through the class.
+
+
+
+
+ Bootstrap list of CM servers.
+
+
+
+
+ Returns the the local IP of this client.
+
+ The local IP.
+
+
+
+ Gets the connected universe of this client.
+ This value will be if the client is not connected to Steam.
+
+ The universe.
+
+
+
+ Gets a value indicating whether this instance is connected to the remote CM server.
+
+
+ true if this instance is connected; otherwise, false.
+
+
+
+
+ Gets the session token assigned to this client from the AM.
+
+
+
+
+ Gets the Steam recommended Cell ID of this client. This value is assigned after a logon attempt has succeeded.
+ This value will be null if the client is logged off of Steam.
+
+
+
+
+ Gets the session ID of this client. This value is assigned after a logon attempt has succeeded.
+ This value will be null if the client is logged off of Steam.
+
+ The session ID.
+
+
+
+ Gets the SteamID of this client. This value is assigned after a logon attempt has succeeded.
+ This value will be null if the client is logged off of Steam.
+
+ The SteamID.
+
+
+
+ Gets or sets the connection timeout used when connecting to the Steam server.
+ The default value is 5 seconds.
+
+
+ The connection timeout.
+
+
+
+
+ Gets or sets the network listening interface. Use this for debugging only.
+ For your convenience, you can use class.
+
+
+
+
+ Initializes a new instance of the class with a specific connection type.
+
+ The connection type to use.
+
+ The provided is not supported.
+ Only Tcp and Udp are available.
+
+
+
+
+ Connects this client to a Steam3 server.
+ This begins the process of connecting and encrypting the data channel between the client and the server.
+ Results are returned asynchronously in a .
+ If the server that SteamKit attempts to connect to is down, a
+ will be posted instead.
+ SteamKit will not attempt to reconnect to Steam, you must handle this callback and call Connect again
+ preferrably after a short delay.
+
+
+ The of the CM server to connect to.
+ If null, SteamKit will randomly select a CM server from its internal list.
+
+
+
+
+ Disconnects this client.
+
+
+
+
+ Sends the specified client message to the server.
+ This method automatically assigns the correct SessionID and SteamID of the message.
+
+ The client message to send.
+
+
+
+ Returns the list of servers matching the given type
+
+ Server type requested
+ List of server endpoints
+
+
+
+ Called when a client message is received from the network.
+
+ The packet message.
+
+
+
+ Called when the client is physically disconnected from Steam3.
+
+
+
+
+ This is the base class for the utility class.
+ This is for internal use only, and shouldn't be used directly.
+
+
+
+
+ Represents a unified interface into client messages.
+
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The message type.
+
+
+
+
+ Gets or sets the session id for this client message.
+
+
+ The session id.
+
+
+
+
+ Gets or sets the for this client message.
+
+
+ The .
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Serializes this client message instance to a byte array.
+
+ Data representing a client message.
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ This class provides a payload backing to client messages.
+
+
+
+
+ Returns a which is the backing stream for client message payload data.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Seeks within the payload to the specified offset.
+
+ The offset in the payload to seek to.
+ The origin to seek from.
+ The new position within the stream, calculated by combining the initial reference point and the offset.
+
+
+
+ Writes a single unsigned byte to the message payload.
+
+ The unsigned byte.
+
+
+
+ Writes a single signed byte to the message payload.
+
+ The signed byte.
+
+
+
+ Writes the specified byte array to the message payload.
+
+ The byte array.
+
+
+
+ Writes a single 16bit short to the message payload.
+
+ The short.
+
+
+
+ Writes a single unsigned 16bit short to the message payload.
+
+ The unsigned short.
+
+
+
+ Writes a single 32bit integer to the message payload.
+
+ The integer.
+
+
+
+ Writes a single unsigned 32bit integer to the message payload.
+
+ The unsigned integer.
+
+
+
+ Writes a single 64bit long to the message payload.
+
+ The long.
+
+
+
+ Writes a single unsigned 64bit long to the message payload.
+
+ The unsigned long.
+
+
+
+ Writes a single 32bit float to the message payload.
+
+ The float.
+
+
+
+ Writes a single 64bit double to the message payload.
+
+ The double.
+
+
+
+ Writes the specified string to the message payload using default encoding.
+ This function does not write a terminating null character.
+
+ The string to write.
+
+
+
+ Writes the specified string to the message payload using the specified encoding.
+ This function does not write a terminating null character.
+
+ The string to write.
+ The encoding to use.
+
+
+
+ Writes the secified string and a null terminator to the message payload using default encoding.
+
+ The string to write.
+
+
+
+ Writes the specified string and a null terminator to the message payload using the specified encoding.
+
+ The string to write.
+ The encoding to use.
+
+
+
+ Reads a single signed byte from the message payload.
+
+ The signed byte.
+
+
+
+ Reads a single signed byte from the message payload.
+
+ The signed byte.
+
+
+
+ Reads a single unsigned byte from the message payload.
+
+ The unsigned byte.
+
+
+
+ Reads a single unsigned byte from the message payload.
+
+ The unsigned byte.
+
+
+
+ Reads a number of bytes from the message payload.
+
+ The number of bytes to read.
+ The data.
+
+
+
+ Reads a single 16bit short from the message payload.
+
+ The short.
+
+
+
+ Reads a single 16bit short from the message payload.
+
+ The short.
+
+
+
+ Reads a single unsigned 16bit short from the message payload.
+
+ The unsigned short.
+
+
+
+ Reads a single unsigned 16bit short from the message payload.
+
+ The unsigned short.
+
+
+
+ Reads a single 32bit integer from the message payload.
+
+ The integer.
+
+
+
+ Reads a single 32bit integer from the message payload.
+
+ The integer.
+
+
+
+ Reads a single unsigned 32bit integer from the message payload.
+
+ The unsigned integer.
+
+
+
+ Reads a single unsigned 32bit integer from the message payload.
+
+ The unsigned integer.
+
+
+
+ Reads a single 64bit long from the message payload.
+
+ The long.
+
+
+
+ Reads a single 64bit long from the message payload.
+
+ The long.
+
+
+
+ Reads a single unsigned 64bit long from the message payload.
+
+ The unsigned long.
+
+
+
+ Reads a single unsigned 64bit long from the message payload.
+
+ The unsigned long.
+
+
+
+ Reads a single 32bit float from the message payload.
+
+ The float.
+
+
+
+ Reads a single 32bit float from the message payload.
+
+ The float.
+
+
+
+ Reads a single 64bit double from the message payload.
+
+ The double.
+
+
+
+ Reads a null terminated string from the message payload with the default encoding.
+
+ The string.
+
+
+
+ Reads a null terminated string from the message payload with the specified encoding.
+
+ The encoding to use.
+ /// The string.
+
+
+
+ This is the abstract base class for all available client messages.
+ It's used to maintain packet payloads and provide a header for all client messages.
+
+ The header type for this client message.
+
+
+
+ Gets a value indicating whether this client message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this client message.
+
+
+ The network message type.
+
+
+
+
+ Gets or sets the session id for this client message.
+
+
+ The session id.
+
+
+
+
+ Gets or sets the for this client message.
+
+
+ The .
+
+
+
+
+ Gets or sets the target job id for this client message.
+
+
+ The target job id.
+
+
+
+
+ Gets or sets the source job id for this client message.
+
+
+ The source job id.
+
+
+
+
+ Gets the header for this message type.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of bytes to initialize the payload capacity to.
+
+
+
+ Serializes this client message instance to a byte array.
+
+
+ Data representing a client message.
+
+
+
+
+ Initializes this client message by deserializing the specified data.
+
+ The data representing a client message.
+
+
+
+ Represents a simple unified interface into client messages recieved from the network.
+ This is contrasted with in that this interface is packet body agnostic
+ and only allows simple access into the header. This interface is also immutable, and the underlying
+ data cannot be modified.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents a protobuf backed packet message.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+ This type of message is always protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network message type for this packet message.
+ The data.
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents a packet message with extended header information.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+ This type of message is never protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network message type for this packet message.
+ The data.
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents a packet message with basic header information.
+
+
+
+
+ Gets a value indicating whether this packet message is protobuf backed.
+ This type of message is never protobuf backed.
+
+
+ true if this instance is protobuf backed; otherwise, false.
+
+
+
+
+ Gets the network message type of this packet message.
+
+
+ The message type.
+
+
+
+
+ Gets the target job id for this packet message.
+
+
+ The target job id.
+
+
+
+
+ Gets the source job id for this packet message.
+
+
+ The source job id.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network message type for this packet message.
+ The data.
+
+
+
+ Gets the underlying data that represents this client message.
+
+ The data.
+
+
+
+ Represents data that has been received over the network.
+
+
+
+
+ Occurs when a net message is recieved over the network.
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ The of the current connection.
+ This is non-null between and , inclusive.
+
+
+
+
+ Occurs when the physical connection is established.
+
+
+
+
+ Occurs when the physical connection is broken.
+
+
+
+
+ Connects to the specified end point.
+
+ Task returning the end point.
+ Timeout in milliseconds
+
+
+
+ Disconnects this instance.
+
+
+
+
+ Sends the specified client net message.
+
+ The client net message.
+
+
+
+ Gets the local IP.
+
+ The local IP.
+
+
+
+ Sets the network encryption filter for this connection
+
+ filter implementing
+
+
+
+ Connects to the specified end point.
+
+ Task returning the end point.
+ Timeout in milliseconds
+
+
+
+ Nets the loop.
+
+
+
+
+ Seconds to wait before sending packets.
+
+
+
+
+ Seconds to wait before considering the connection dead.
+
+
+
+
+ Maximum number of packets to resend when RESEND_DELAY is exceeded.
+
+
+
+
+ Maximum number of packets that we can be waiting on at a time.
+
+
+
+
+ Contains information about the state of the connection, used to filter out packets that are
+ unexpected or not valid given the state of the connection.
+
+
+
+
+ The next outgoing sequence number to be used.
+
+
+
+
+ The highest sequence number of an outbound packet that has been sent.
+
+
+
+
+ The sequence number of the highest packet acknowledged by the server.
+
+
+
+
+ The sequence number we plan on acknowledging receiving with the next Ack. All packets below or equal
+ to inSeq *must* have been received, but not necessarily handled.
+
+
+
+
+ The highest sequence number we've acknowledged receiving.
+
+
+
+
+ The highest sequence number we've processed.
+
+
+
+
+ Connects to the specified CM server.
+
+ Task returning the CM server.
+ Timeout in milliseconds
+
+
+
+ Disconnects this instance, blocking until the queue of messages is empty or the connection
+ is otherwise terminated.
+
+
+
+
+ Serializes and sends the provided message to the server in as many packets as is necessary.
+
+ The ClientMsg
+
+
+
+ Sends the data sequenced as a single message, splitting it into multiple parts if necessary.
+
+ The data to send.
+
+
+
+ Sends the packet as a sequenced, reliable packet.
+
+ The packet.
+
+
+
+ Sends the packets as one sequenced, reliable net message.
+
+ The packets that make up the single net message
+
+
+
+ Sends a packet immediately.
+
+ The packet.
+
+
+
+ Sends a datagram Ack, used when an Ack needs to be sent but there is no data response to piggy-back on.
+
+
+
+
+ Sends or resends sequenced messages, if necessary. Also responsible for throttling
+ the rate at which they are sent.
+
+
+
+
+ Returns the number of message parts in the next message.
+
+ Non-zero number of message parts if a message is ready to be handled, 0 otherwise
+
+
+
+ Dispatches up to one message to the rest of SteamKit
+
+ True if a message was dispatched, false otherwise
+
+
+
+ Processes incoming packets, maintains connection consistency, and oversees outgoing packets.
+
+
+
+
+ Receives the packet, performs all sanity checks and then passes it along as necessary.
+
+ The packet.
+
+
+
+ Receives the challenge and responds with a Connect request
+
+ The packet.
+
+
+
+ Receives the notification of an accepted connection and sets the connection id that will be used for the
+ connection's duration.
+
+ The packet.
+
+
+
+ Receives typical data packets before dispatching them for consumption by the rest of SteamKit
+
+ The packet.
+
+
+
+ Sets the network encryption filter for this connection
+
+ filter implementing
+
+
+
+ Gets a value indicating whether this instance is valid.
+
+
+ true if this instance is valid; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class with
+ information from the memory stream.
+
+ Header is populated from the MemoryStream
+
+ The stream containing the packet and it's payload data.
+
+
+
+ Initializes a new instance of the class, with
+ no payload.
+
+ Header must be populated manually.
+
+ The type.
+
+
+
+ Initializes a new instance of the class, of the
+ specified type containing the specified payload.
+
+ Header must be populated manually.
+
+ The type.
+ The payload.
+
+
+
+ Initializes a new instance of the class, of the
+ specified type containing the first 'length' bytes of specified payload.
+
+ Header must be populated manually.
+
+ The type.
+ The payload.
+ The length.
+
+
+
+ Sets the payload
+
+ The payload to copy.
+
+
+
+ Sets the payload.
+
+ The payload.
+ The length.
+
+
+
+ Serializes the UdpPacket.
+
+ The serialized packet.
+
+
+
+ The CDNClient class is used for downloading game content from the Steam servers.
+
+
+
+
+ Represents a single Steam3 'Steampipe' content server.
+
+
+
+
+ Gets the hostname of the server.
+
+
+
+
+ Gets the port of the server.
+
+
+
+
+ Gets the type of the server.
+
+
+
+
+ Gets the CellID this server belongs to.
+
+
+
+
+ Gets the load value associated with this server.
+
+
+
+
+ Gets the weighted load.
+
+
+
+
+ Gets the number of entries this server is worth.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ A IPEndPoint to convert into a .
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ A DnsEndPoint to convert into a .
+
+ The result of the conversion.
+
+
+
+
+ Returns a that represents this server.
+
+
+ A that represents this server.
+
+
+
+
+ Represents a single downloaded chunk from a file in a depot.
+
+
+
+
+ Gets the depot manifest chunk information associated with this chunk.
+
+
+
+
+ Gets a value indicating whether this chunk has been processed. A chunk is processed when the data has been decrypted and decompressed.
+
+
+ true if this chunk has been processed; otherwise, false.
+
+
+
+
+ Gets the underlying data for this chunk.
+
+
+
+
+ Processes the specified depot key by decrypting the data with the given depot encryption key, and then by decompressing the data.
+ If the chunk has already been processed, this function does nothing.
+
+ The depot decryption key.
+ Thrown if the processed data does not match the expected checksum given in it's chunk information.
+
+
+
+ Default timeout to use when making requests
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The this instance will be associated with.
+ The SteamClient instance must be connected and logged onto Steam.
+
+ The optional appticket for the depot that will be downloaded.
+ This must be present when connected to steam non-anonymously.
+
+
+
+
+ Fetches a list of content servers.
+
+
+ The optional Steam3 content server to fetch the list from.
+ If this parameter is not specified, a random CS server will be selected.
+
+
+ The optional CellID used to specify which regional servers should be returned in the list.
+ If this parameter is not specified, Steam's GeoIP suggested CellID will be used instead.
+
+ The maximum amount of servers to request.
+ A list of servers.
+
+ No Steam CS servers available, or the suggested CellID is unavailable.
+ Check that the associated with this instance is logged onto Steam.
+
+
+
+
+ Connects and initializes a session to the specified content server.
+
+ The content server to connect to.
+ csServer was null.
+
+
+
+ Authenticate a CDNClient to a depot in the connected session
+
+ The id of the depot being accessed.
+
+ The optional depot decryption key for the depot that will be downloaded.
+ This is used for decrypting filenames (if needed) in depot manifests, and processing depot chunks.
+
+ CDN auth token for CDN content server endpoints.
+
+
+
+ Downloads the depot manifest specified by the given manifest ID, and optionally decrypts the manifest's filenames if the depot decryption key has been provided.
+
+ The id of the depot being accessed.
+ The unique identifier of the manifest to be downloaded.
+ A instance that contains information about the files present within a depot.
+
+
+
+ Downloads the depot manifest specified by the given manifest ID, and optionally decrypts the manifest's filenames if the depot decryption key has been provided.
+
+ The id of the depot being accessed.
+ The unique identifier of the manifest to be downloaded.
+ CDN hostname.
+ CDN auth token for CDN content server endpoints.
+
+ The depot decryption key for the depot that will be downloaded.
+ This is used for decrypting filenames (if needed) in depot manifests, and processing depot chunks.
+
+ A instance that contains information about the files present within a depot.
+
+
+
+ Downloads the specified depot chunk, and optionally processes the chunk and verifies the checksum if the depot decryption key has been provided.
+
+
+ This function will also validate the length of the downloaded chunk with the value of ,
+ if it has been assigned a value.
+
+ The id of the depot being accessed.
+
+ A instance that represents the chunk to download.
+ This value should come from a manifest downloaded with .
+
+ A instance that contains the data for the given chunk.
+ chunk's was null.
+
+
+
+ Downloads the specified depot chunk, and optionally processes the chunk and verifies the checksum if the depot decryption key has been provided.
+
+
+ This function will also validate the length of the downloaded chunk with the value of ,
+ if it has been assigned a value.
+
+ The id of the depot being accessed.
+
+ A instance that represents the chunk to download.
+ This value should come from a manifest downloaded with .
+
+ A instance that contains the data for the given chunk.
+ CDN hostname.
+ CDN auth token for CDN content server endpoints.
+
+ The depot decryption key for the depot that will be downloaded.
+ This is used for decrypting filenames (if needed) in depot manifests, and processing depot chunks.
+
+ chunk's was null.
+
+
+
+ Disposes of this object.
+
+
+
+
+ A server list provider that uses a file to persist the server list using protobuf
+
+
+
+
+ Initialize a new instance of FileStorageServerListProvider
+
+
+
+
+ Read the stored list of servers from the file
+
+ List of servers if persisted, otherwise an empty list
+
+
+
+ Writes the supplied list of servers to persistent storage
+
+ List of server endpoints
+ Awaitable task for write completion
+
+
+
+ An interface for persisting the server list for connection discovery
+
+
+
+
+ Ask a provider to fetch any servers that it has available
+
+ A list of IPEndPoints representing servers
+
+
+
+ Update the persistent list of endpoints
+
+ List of endpoints
+
+
+
+ A server list provider that returns an empty list, for consumers that populate the server list themselves
+
+
+
+
+ No-op implementation that returns an empty server list
+
+ Empty server list
+
+
+
+ No-op implementation that does not persist server list
+
+ Server list
+ Completed task
+
+
+
+ Currently marked quality of a server. All servers start off as Undetermined.
+
+
+
+
+ Known good server.
+
+
+
+
+ Known bad server.
+
+
+
+
+ Smart list of CM servers.
+
+
+
+
+ Initialize SmartCMServerList with a given server list provider
+
+ The ServerListProvider to persist servers
+ Specifies if we can query SteamDirectory to discover more servers
+
+
+
+ Initialize SmartCMServerList with the default server list provider
+
+
+
+
+ The server list provider chosen to provide a persistent list of servers to connect to
+
+
+
+
+ The preferred cell id for retrieving the list of servers from the Steam directory
+
+
+
+
+ Determines how long a server's bad connection state is remembered for.
+
+
+
+
+ Resets the scores of all servers which has a last bad connection more than ago.
+
+
+
+
+ Replace the list with a new list of servers provided to us by the Steam servers.
+
+ The s to use for this .
+
+
+
+ Explicitly resets the known state of all servers.
+
+
+
+
+ Perform the actual score lookup of the server list and return the candidate
+
+ IPEndPoint candidate
+
+
+
+ Get the next server in the list.
+
+ An , or null if the list is empty.
+
+
+
+ Get the next server in the list.
+
+ An , or null if the list is empty.
+
+
+
+ Gets the s of all servers in the server list.
+
+ An array contains the s of the servers in the list
+
+
+
+ This class implements the base requirements every message handler should inherit from.
+
+
+
+
+ Gets the underlying for use in sending replies.
+
+
+
+
+ Gets or sets whether or not the related should imminently expect the server to close the connection.
+ If this is true when the connection is closed, the 's property
+ will be set to true.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with apps and packages on the Steam network.
+
+
+
+
+ This callback is fired during logon, informing the client of it's available licenses.
+
+
+
+
+ Represents a granted license (steam3 subscription) for one or more games.
+
+
+
+
+ Gets the package ID used to identify the license.
+
+ The package ID.
+
+
+
+ Gets the last change number for this license.
+
+
+
+
+ Gets the time the license was created.
+
+ The time created.
+
+
+
+ Gets the next process time for the license.
+
+ The next process time.
+
+
+
+ Gets the minute limit of the license.
+
+ The minute limit.
+
+
+
+ Gets the minutes used of the license.
+
+ The minutes used.
+
+
+
+ Gets the payment method used when the license was created.
+
+ The payment method.
+
+
+
+ Gets the license flags.
+
+ The license flags.
+
+
+
+ Gets the two letter country code where the license was purchased.
+
+ The purchase country code.
+
+
+
+ Gets the type of the license.
+
+ The type of the license.
+
+
+
+ Gets the territory code of the license.
+
+ The territory code.
+
+
+
+ Gets the result of the message.
+
+ The result.
+
+
+
+ Gets the license list.
+
+ The license list.
+
+
+
+ This callback is received in response to calling , informing the client of newly granted packages, if any.
+
+
+
+
+ Gets the result of the message.
+
+ The result.
+
+
+
+ Gets the list of granted apps.
+
+ List of granted apps.
+
+
+
+ Gets the list of granted packages.
+
+ List of granted packages.
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Gets the result of requesting the ticket.
+
+
+
+
+ Gets the AppID this ticket is for.
+
+
+
+
+ Gets the ticket data.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of requesting this encryption key.
+
+
+
+
+ Gets the DepotID this encryption key is for.
+
+
+
+
+ Gets the encryption key for this depot.
+
+
+
+
+ This callback is fired when the client receives a list of game connect tokens.
+
+
+
+
+ Gets a count of tokens to keep.
+
+
+
+
+ Gets the list of tokens.
+
+
+
+
+ This callback is fired when the client receives it's VAC banned status.
+
+
+
+
+ Gets a list of VAC banned apps the client is banned from.
+
+
+
+
+ This callback is fired when the PICS returns access tokens for a list of appids and packageids
+
+
+
+
+ Gets a list of denied package tokens
+
+
+
+
+ Gets a list of denied app tokens
+
+
+
+
+ Dictionary containing requested package tokens
+
+
+
+
+ Dictionary containing requested package tokens
+
+
+
+
+ This callback is fired when the PICS returns the changes since the last change number
+
+
+
+
+ Holds the change data for a single app or package
+
+
+
+
+ App or package ID this change data represents
+
+
+
+
+ Current change number of this app
+
+
+
+
+ Signals if an access token is needed for this request
+
+
+
+
+ Supplied change number for the request
+
+
+
+
+ Gets the current change number
+
+
+
+
+ If this update requires a full update of the information
+
+
+
+
+ Dictionary containing requested package tokens
+
+
+
+
+ Dictionary containing requested package tokens
+
+
+
+
+ This callback is fired when the PICS returns the product information requested
+
+
+
+
+ Represents the information for a single app or package
+
+
+
+
+ Gets the ID of the app or package
+
+
+
+
+ Gets the current change number for the app or package
+
+
+
+
+ Gets if an access token was required for the request
+
+
+
+
+ Gets the hash of the content
+
+
+
+
+ Gets the KeyValue info
+
+
+
+
+ For an app request, returns if only the public information was requested
+
+
+
+
+ Whether or not to use HTTP to load the KeyValues data.
+
+
+
+
+ For an app metadata-only request, returns the Uri for HTTP appinfo requests.
+
+
+
+
+ Gets if this response contains only product metadata
+
+
+
+
+ Gets if there are more product information responses pending
+
+
+
+
+ Gets a list of unknown package ids
+
+
+
+
+ Gets a list of unknown app ids
+
+
+
+
+ Dictionary containing requested app info
+
+
+
+
+ Dictionary containing requested package info
+
+
+
+
+ This callback is received when the list of guest passes is updated.
+
+
+
+
+ Result of the operation
+
+
+
+
+ Number of guest passes to be given out
+
+
+
+
+ Number of guest passes to be redeemed
+
+
+
+
+ Guest pass list
+
+
+
+
+ This callback is received when a guest pass has been sent
+
+
+
+
+ Result of the operation
+
+
+
+
+ This callback is received when a CDN auth token is received
+
+
+
+
+ Result of the operation
+
+
+
+
+ CDN auth token
+
+
+
+
+ Token expiration date
+
+
+
+
+ This callback is received when a beta password check has been completed
+
+
+
+
+ Result of the operation
+
+
+
+
+ Map of beta names to their encryption keys
+
+
+
+
+ Represents a PICS request used for
+
+
+
+
+ Gets or sets the ID of the app or package being requested
+
+ The ID
+
+
+
+ Gets or sets the access token associated with the request
+
+ The access token
+
+
+
+ Requests only public app info
+
+ The flag specifying if only public data is requested
+
+
+
+ Instantiate an empty PICS product info request
+
+
+
+
+ Instantiate a PICS product info request for a given app or package id
+
+ App or package ID
+
+
+
+ Instantiate a PICS product info request for a given app or package id and an access token
+
+ App or package ID
+ PICS access token
+ Get only public info
+
+
+
+ Requests an app ownership ticket for the specified AppID.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The appid to request the ownership ticket of.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request the depot decryption key for a specified DepotID.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The DepotID to request a decryption key for.
+ The AppID to request the decryption key for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request PICS access tokens for an app or package.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ App id to request access token for.
+ Package id to request access token for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request PICS access tokens for a list of app ids and package ids
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ List of app ids to request access tokens for.
+ List of package ids to request access tokens for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request changes for apps and packages since a given change number
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ Last change number seen.
+ Whether to send app changes.
+ Whether to send package changes.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request product information for an app or package
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ App id requested.
+ Package id requested.
+ Whether to send only public information.
+ Whether to send only meta data.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request product information for a list of apps or packages
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ List of app ids requested.
+ List of package ids requested.
+ Whether to send only public information.
+ Whether to send only meta data.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request product information for a list of apps or packages
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ List of requests for apps.
+ List of requests for packages.
+ Whether to send only meta data.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request product information for an app or package
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ App id requested.
+ Depot id requested.
+ CDN host name being requested.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request a free license for given appid, can be used for free on demand apps
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The app to request a free license for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Request a free license for given appids, can be used for free on demand apps
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The apps to request a free license for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Submit a beta password for a given app to retrieve any betas and their encryption keys.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ App id requested.
+ Password to check.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with remote storage and user generated content.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the App ID the UGC is for.
+
+
+
+
+ Gets the SteamID of the UGC's creator.
+
+
+
+
+ Gets the URL that the content is located at.
+
+
+
+
+ Gets the name of the file.
+
+
+
+
+ Gets the size of the file.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the App ID the file is for.
+
+
+
+
+ Gets the file name request.
+
+
+
+
+ Gets the SHA hash of the file.
+
+
+
+
+ Gets the timestamp of the file.
+
+
+
+
+ Gets the size of the file.
+
+
+
+
+ Gets if the file was explicity deleted by the user.
+
+
+
+
+ This callback is recieved in response to calling .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the resulting UGC handle.
+
+
+
+
+ Requests details for a specific item of user generated content from the Steam servers.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The unique user generated content id.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Requests details for a specific file in the user's Cloud storage.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The app id of the game.
+ The path to the file being requested.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Commit a Cloud file at the given path to make its UGC handle publicly visible.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The app id of the game.
+ The path to the file being requested.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler handles all interaction with other users on the Steam3 network.
+
+
+
+
+ Represents the details of a user which is a member of a chatroom.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The KeyValue backing store for this member info.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the clan permission details of this chat member.
+
+
+
+
+ Gets the permissions this user has with the chatroom.
+
+
+
+
+ Gets the of this user.
+
+
+
+
+ This callback is fired in response to someone changing their friend details over the network.
+
+
+
+
+ Gets the status flags. This shows what has changed.
+
+ The status flags.
+
+
+
+ Gets the friend ID.
+
+ The friend ID.
+
+
+
+ Gets the state.
+
+ The state.
+
+
+
+ Gets the state flags.
+
+ The state flags.
+
+
+
+ Gets the game app ID.
+
+ The game app ID.
+
+
+
+ Gets the game ID.
+
+ The game ID.
+
+
+
+ Gets the name of the game.
+
+ The name of the game.
+
+
+
+ Gets the game server IP.
+
+ The game server IP.
+
+
+
+ Gets the game server port.
+
+ The game server port.
+
+
+
+ Gets the query port.
+
+ The query port.
+
+
+
+ Gets the source steam ID.
+
+ The source steam ID.
+
+
+
+ Gets the game data blob.
+
+ The game data blob.
+
+
+
+ Gets the name.
+
+ The name.
+
+
+
+ Gets the avatar hash.
+
+ The avatar hash.
+
+
+
+ Gets the last log off.
+
+ The last log off.
+
+
+
+ Gets the last log on.
+
+ The last log on.
+
+
+
+ Gets the clan rank.
+
+ The clan rank.
+
+
+
+ Gets the clan tag.
+
+ The clan tag.
+
+
+
+ Gets the online session instances.
+
+ The online session instances.
+
+
+
+ Gets the published session ID.
+
+ The published session ID.
+
+
+
+ This callback is posted when a clan's state has been changed.
+
+
+
+
+ Represents an event or announcement that was posted by a clan.
+
+
+
+
+ Gets the globally unique ID for this specific event.
+
+
+
+
+ Gets the event time.
+
+
+
+
+ Gets the headline of the event.
+
+
+
+
+ Gets the associated with this event, if any.
+
+
+
+
+ Gets a value indicating whether this event was just posted.
+
+
+ true if the event was just posted; otherwise, false.
+
+
+
+
+ Gets the of the clan that posted this state update.
+
+
+
+
+ Gets the status flags.
+
+
+
+
+ Gets the account flags.
+
+
+
+
+ Gets the name of the clan.
+
+
+ The name of the clan.
+
+
+
+
+ Gets the SHA-1 avatar hash.
+
+
+
+
+ Gets the total number of members in this clan.
+
+
+
+
+ Gets the number of members in this clan that are currently online.
+
+
+
+
+ Gets the number of members in this clan that are currently chatting.
+
+
+
+
+ Gets the number of members in this clan that are currently in-game.
+
+
+
+
+ Gets any events associated with this clan state update.
+
+
+
+
+ Gets any announcements associated with this clan state update.
+
+
+
+
+ This callback is fired when the client receives a list of friends.
+
+
+
+
+ Represents a single friend entry in a client's friendlist.
+
+
+
+
+ Gets the SteamID of the friend.
+
+ The SteamID.
+
+
+
+ Gets the relationship to this friend.
+
+ The relationship.
+
+
+
+ Gets a value indicating whether this is an incremental update.
+
+ true if incremental; otherwise, false.
+
+
+
+ Gets the friend list.
+
+ The friend list.
+
+
+
+ This callback is fired in response to receiving a message from a friend.
+
+
+
+
+ Gets or sets the sender.
+
+ The sender.
+
+
+
+ Gets the chat entry type.
+
+ The chat entry type.
+
+
+
+ Gets a value indicating whether this message is from a limited account.
+
+ true if this message is from a limited account; otherwise, false.
+
+
+
+ Gets the message.
+
+ The message.
+
+
+
+ This callback is fired in response to receiving an echo message from another instance.
+
+
+
+
+ Gets or sets the recipient
+
+ The recipient.
+
+
+
+ Gets the chat entry type.
+
+ The chat entry type.
+
+
+
+ Gets a value indicating whether this message is from a limited account.
+
+ true if this message is from a limited account; otherwise, false.
+
+
+
+ Gets the message.
+
+ The message.
+
+
+
+ This callback is fired in response to receiving historical messages.
+ See also and
+ .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the SteamID of the user with whom these messages were exchanged.
+
+
+
+
+ The messages exchanged with the user.
+ Offline messages are marked by having set to true
+
+
+
+
+ Represents a single Message sent to or received from a friend
+
+
+
+
+ The SteamID of the User that wrote the message
+
+
+
+
+ Whether or not the message has been read, i.e., is an offline message.
+
+
+
+
+ The actual message
+
+
+
+
+ The time (in UTC) when the message was sent
+
+
+
+
+ This callback is fired in response to adding a user to your friends list.
+
+
+
+
+ Gets the result of the request.
+
+ The result.
+
+
+
+ Gets the SteamID of the friend that was added.
+
+ The SteamID.
+
+
+
+ Gets the persona name of the friend.
+
+ The persona name.
+
+
+
+ This callback is fired in response to attempting to join a chat.
+
+
+
+
+ Gets SteamID of the chat room.
+
+
+
+
+ Gets the friend ID.
+
+
+
+
+ Gets the type of the chat room.
+
+
+ The type of the chat room.
+
+
+
+
+ Gets the SteamID of the chat room owner.
+
+
+
+
+ Gets clan SteamID that owns this chat room.
+
+
+
+
+ Gets the chat flags.
+
+
+
+
+ Gets the chat enter response.
+
+
+
+
+ Gets the number of users currently in this chat room.
+
+
+
+
+ Gets the name of the chat room.
+
+
+
+
+ Gets a list of instances for each of the members of this chat room.
+
+
+
+
+ This callback is fired when a chat room message arrives.
+
+
+
+
+ Gets the SteamID of the chatter.
+
+
+
+
+ Gets the SteamID of the chat room.
+
+
+
+
+ Gets chat entry type.
+
+
+
+
+ Gets the message.
+
+
+
+
+ This callback is fired in response to chat member info being recieved.
+
+
+
+
+ Represents state change information.
+
+
+
+
+ Gets the SteamID of the chatter that was acted on.
+
+
+
+
+ Gets the state change for the acted on SteamID.
+
+
+
+
+ Gets the SteamID of the chatter that acted on .
+
+
+
+
+ Gets the member information for a user that has joined the chat room.
+ This field is only populated when is .
+
+
+
+
+ Gets SteamId of the chat room.
+
+
+
+
+ Gets the info type.
+
+
+
+
+ Gets the state change info for member info updates.
+
+
+
+
+ This callback is fired in response to chat room info being recieved.
+
+
+
+
+ Gets SteamId of the chat room.
+
+
+
+
+ Gets the info type.
+
+
+
+
+ This callback is fired when a chat action has completed.
+
+
+
+
+ Gets the SteamID of the chat room the action was performed in.
+
+
+
+
+ Gets the SteamID of the chat member the action was performed on.
+
+
+
+
+ Gets the chat action that was performed.
+
+
+
+
+ Gets the result of the chat action.
+
+
+
+
+ This callback is fired when a chat invite is recieved.
+
+
+
+
+ Gets the SteamID of the user who was invited to the chat.
+
+
+
+
+ Gets the chat room SteamID.
+
+
+
+
+ Gets the SteamID of the user who performed the invitation.
+
+
+
+
+ Gets the chat room type.
+
+
+
+
+ Gets the SteamID of the chat friend.
+
+
+
+
+ Gets the name of the chat room.
+
+
+
+
+ Gets the GameID associated with this chat room, if it's a game lobby.
+
+
+
+
+ This callback is fired in response to an attempt at ignoring a friend.
+
+
+
+
+ Gets the result of ignoring a friend.
+
+
+
+
+ This callback is fired in response to requesting profile info for a user.
+
+
+
+
+ Gets the result of requesting profile info.
+
+
+
+
+ Gets the this info belongs to.
+
+
+
+
+ Gets the time this account was created.
+
+
+
+
+ Gets the real name.
+
+
+
+
+ Gets the name of the city.
+
+
+
+
+ Gets the name of the state.
+
+
+
+
+ Gets the name of the country.
+
+
+
+
+ Gets the headline.
+
+
+
+
+ Gets the summary.
+
+
+
+
+ This callback is fired in response to setting this client's persona name or state
+ with or .
+
+
+
+
+ Gets the result of changing this client's persona information.
+
+
+
+
+ Gets the name of this client according to Steam.
+
+
+
+
+ Gets the local user's persona name.
+
+ The name.
+
+
+
+ Sets the local user's persona name and broadcasts it over the network.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The name.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Gets the local user's persona state.
+
+ The persona state.
+
+
+
+ Sets the local user's persona state and broadcasts it over the network.
+ Results are returned in a callback.
+ The returned can also be awaited to retrieve the callback result.
+
+ The state.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Gets the friend count of the local user.
+
+ The number of friends.
+
+
+
+ Gets a friend by index.
+
+ The index.
+ A valid steamid of a friend if the index is in range; otherwise a steamid representing 0.
+
+
+
+ Gets the persona name of a friend.
+
+ The steam id.
+ The name.
+
+
+
+ Gets the persona state of a friend.
+
+ The steam id.
+ The persona state.
+
+
+
+ Gets the relationship of a friend.
+
+ The steam id.
+ The relationship of the friend to the local user.
+
+
+
+ Gets the game name of a friend playing a game.
+
+ The steam id.
+ The game name of a friend playing a game, or null if they haven't been cached yet.
+
+
+
+ Gets the GameID of a friend playing a game.
+
+ The steam id.
+ The gameid of a friend playing a game, or 0 if they haven't been cached yet.
+
+
+
+ Gets a SHA-1 hash representing the friend's avatar.
+
+ The SteamID of the friend to get the avatar of.
+ A byte array representing a SHA-1 hash of the friend's avatar.
+
+
+
+ Gets the count of clans the local user is a member of.
+
+ The number of clans this user is a member of.
+
+
+
+ Gets a clan SteamID by index.
+
+ The index.
+ A valid steamid of a clan if the index is in range; otherwise a steamid representing 0.
+
+
+
+ Gets the name of a clan.
+
+ The clan SteamID.
+ The name.
+
+
+
+ Gets the relationship of a clan.
+
+ The clan steamid.
+ The relationship of the clan to the local user.
+
+
+
+ Gets a SHA-1 hash representing the clan's avatar.
+
+ The SteamID of the clan to get the avatar of.
+ A byte array representing a SHA-1 hash of the clan's avatar, or null if the clan could not be found.
+
+
+
+ Sends a chat message to a friend.
+
+ The target to send to.
+ The type of message to send.
+ The message to send.
+
+
+
+ Sends a friend request to a user.
+
+ The account name or email of the user.
+
+
+
+ Sends a friend request to a user.
+
+ The SteamID of the friend to add.
+
+
+
+ Removes a friend from your friends list.
+
+ The SteamID of the friend to remove.
+
+
+
+ Attempts to join a chat room.
+
+ The SteamID of the chat room.
+
+
+
+ Attempts to leave a chat room.
+
+ The SteamID of the chat room.
+
+
+
+ Sends a message to a chat room.
+
+ The SteamID of the chat room.
+ The message type.
+ The message.
+
+
+
+ Invites a user to a chat room.
+ The results of this action will be available through the callback.
+
+ The SteamID of the user to invite.
+ The SteamID of the chat room to invite the user to.
+
+
+
+ Kicks the specified chat member from the given chat room.
+
+ The SteamID of chat room to kick the member from.
+ The SteamID of the member to kick from the chat.
+
+
+
+ Bans the specified chat member from the given chat room.
+
+ The SteamID of chat room to ban the member from.
+ The SteamID of the member to ban from the chat.
+
+
+
+ Unbans the specified SteamID from the given chat room.
+
+ The SteamID of chat room to unban the member from.
+ The SteamID of the member to unban from the chat.
+
+
+
+ Requests persona state for a list of specified SteamID.
+ Results are returned in .
+
+ A list of SteamIDs to request the info of.
+ The requested info flags.
+
+
+
+ Requests persona state for a specified SteamID.
+ Results are returned in .
+
+ A SteamID to request the info of.
+ The requested info flags.
+
+
+
+ Ignores or unignores a friend on Steam.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The SteamID of the friend to ignore or unignore.
+ if set to true, the friend will be ignored; otherwise, they will be unignored.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Requests profile information for the given .
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The SteamID of the friend to request the details of.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Requests the last few chat messages with a friend.
+ Results are returned in a
+
+ SteamID of the friend
+
+
+
+ Requests all offline messages.
+ This also marks them as read server side.
+ Results are returned in a .
+
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler handles all game coordinator messaging.
+
+
+
+
+ This callback is fired when a game coordinator message is recieved from the network.
+
+
+
+
+ Gets the game coordinator message type.
+
+
+
+
+ Gets the AppID of the game coordinator the message is from.
+
+
+
+
+ Gets a value indicating whether this message is protobuf'd.
+
+
+ true if this instance is protobuf'd; otherwise, false.
+
+
+
+
+ Gets the actual message.
+
+
+
+
+ Sends a game coordinator message for a specific appid.
+
+ The GC message to send.
+ The app id of the game coordinator to send to.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with the Steam network as a game server.
+
+
+
+
+ This callback is fired when the game server receives a status reply.
+
+
+
+
+ Gets a value indicating whether this game server is VAC secure.
+
+
+ true if this server is VAC secure; otherwise, false.
+
+
+
+
+ This callback is fired when ticket authentication has completed.
+
+
+
+
+ Gets the SteamID the ticket auth completed for.
+
+
+
+
+ Gets the GameID the ticket was for.
+
+
+
+
+ Gets the authentication state.
+
+
+
+
+ Gets the auth session response.
+
+
+
+
+ Gets the ticket CRC.
+
+
+
+
+ Gets the ticket sequence.
+
+
+
+
+ Represents the details required to log into Steam3 as a game server.
+
+
+
+
+ Gets or sets the authentication token used to log in as a game server.
+
+
+
+
+ Gets or sets the AppID this gameserver will serve.
+
+
+
+
+ Represents the details of the game server's current status.
+
+
+
+
+ Gets or sets the AppID this game server is serving.
+
+
+
+
+ Gets or sets the server's basic state as flags.
+
+
+
+
+ Gets or sets the directory the game data is in.
+
+
+
+
+ Gets or sets the IP address the game server listens on.
+
+
+
+
+ Gets or sets the port the game server listens on.
+
+
+
+
+ Gets or sets the port the game server responds to queries on.
+
+
+
+
+ Gets or sets the current version of the game server.
+
+
+
+
+ Logs onto the Steam network as a persistent game server.
+ The client should already have been connected at this point.
+ Results are return in a .
+
+ The details to use for logging on.
+ No logon details were provided.
+ Username or password are not set within .
+
+
+
+ Logs the client into the Steam3 network as an anonymous game server.
+ The client should already have been connected at this point.
+ Results are returned in a .
+
+ The AppID served by this game server, or 0 for the default.
+
+
+
+ Informs the Steam servers that this client wishes to log off from the network.
+ The Steam server will disconnect the client, and a will be posted.
+
+
+
+
+ Sends the server's status to the Steam network.
+ Results are returned in a callback.
+
+ A object containing the server's status.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for requesting server list details from Steam.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents a single server.
+
+
+
+
+ Gets the IP endpoint of the server.
+
+
+
+
+ Gets the number of Steam authenticated players on this server.
+
+
+
+
+ Gets the list of servers.
+
+
+
+
+ Details used when performing a server list query.
+
+
+
+
+ Gets or sets the AppID used when querying servers.
+
+
+
+
+ Gets or sets the filter used for querying the master server.
+ Check https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol for details on how the filter is structured.
+
+
+
+
+ Gets or sets the region that servers will be returned from.
+
+
+
+
+ Gets or sets the IP address that will be GeoIP located.
+ This is done to return servers closer to this location.
+
+
+
+
+ Gets or sets the maximum number of servers to return.
+
+
+
+
+ Requests a list of servers from the Steam game master server.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The details for the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for initializing Steam trades with other clients.
+
+
+
+
+ This callback is fired when this client receives a trade proposal.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the screenshot ID of the newly added screenshot.
+
+
+
+
+ Width of a screenshot thumnail
+
+
+
+
+ Represents the details required to add a screenshot
+
+
+
+
+ Gets or sets the Steam game ID this screenshot belongs to
+
+ The game ID.
+
+
+
+ Gets or sets the UFS image filepath.
+
+ The UFS image filepath.
+
+
+
+ Gets or sets the UFS thumbnail filepath.
+
+ The UFS thumbnail filepath.
+
+
+
+ Gets or sets the screenshot caption
+
+ The screenshot caption.
+
+
+
+ Gets or sets the screenshot privacy
+
+ The screenshot privacy.
+
+
+
+ Gets or sets the screenshot width
+
+ The screenshot width.
+
+
+
+ Gets or sets the screenshot height
+
+ The screenshot height.
+
+
+
+ Gets or sets the creation time
+
+ The creation time.
+
+
+
+ Gets or sets whether or not the screenshot contains spoilers
+
+ Whether or not the screenshot contains spoilers.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Adds a screenshot to the user's screenshot library. The screenshot image and thumbnail must already exist on the UFS.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The details of the screenshot.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for initializing Steam trades with other clients.
+
+
+
+
+ This callback is fired when this client receives a trade proposal.
+
+
+
+
+ Gets the Trade ID of his proposal, used for replying.
+
+
+
+
+ Gets the SteamID of the client that sent the proposal.
+
+
+
+
+ This callback is fired when this client receives the response from a trade proposal.
+
+
+
+
+ Gets the Trade ID that this result is for.
+
+
+
+
+ Gets the response of the trade proposal.
+
+
+
+
+ Gets the SteamID of the client that responded to the proposal.
+
+
+
+
+ Gets the number of days Steam Guard is required to have been active on this account.
+
+
+
+
+ Gets the number of days a new device cannot trade for.
+
+
+
+
+ Gets the default number of days one cannot trade for after a password reset.
+
+
+
+
+ Gets the number of days one cannot trade for after a password reset.
+
+
+
+
+ This callback is fired when a trading session has started.
+
+
+
+
+ Gets the SteamID of the client that this the trading session has started with.
+
+
+
+
+ Proposes a trade to another client.
+
+ The client to trade.
+
+
+
+ Responds to a trade proposal.
+
+ The trade id of the received proposal.
+ if set to true, the trade will be accepted.
+
+
+
+ Cancels an already sent trade proposal.
+
+ The user.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for interacting with Steamworks unified messaging
+
+
+
+
+ This callback is returned in response to a service method sent through .
+
+
+
+
+ Gets the result of the message.
+
+
+
+
+ Gets the raw binary response.
+
+
+
+
+ Gets the name of the Service.
+
+
+
+
+ Gets the name of the RPC method.
+
+
+
+
+ Gets the full name of the service method.
+
+
+
+
+ Deserializes the response into a protobuf object.
+
+ Protobuf type of the response message.
+ The response to the message sent through .
+
+
+
+ This callback represents a service notification recieved though .
+
+
+
+
+ Gets the name of the Service.
+
+
+
+
+ Gets the name of the RPC method.
+
+
+
+
+ Gets the full name of the service method.
+
+
+
+
+ Gets the protobuf notification body.
+
+
+
+
+ This wrapper is used for expression-based RPC calls using Steam Unified Messaging.
+
+
+
+
+ Sends a message.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The type of the protobuf object which is the response to the RPC call.
+ RPC call expression, e.g. x => x.SomeMethodCall(message);
+ Whether this message is a notification or not.
+ The JobID of the request. This can be used to find the appropriate .
+
+
+
+ Sends a message.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The type of a protobuf object.
+ Name of the RPC endpoint. Takes the format ServiceName.RpcName
+ The message to send.
+ Whether this message is a notification or not.
+ The JobID of the request. This can be used to find the appropriate .
+
+
+
+ Creates a wrapper for expression-based unified messaging.
+
+ The type of a service interface.
+ The wrapper.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler handles Steam user statistic related actions.
+
+
+
+
+ This callback is fired in response to .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the current number of players according to Steam.
+
+
+
+
+ This callback is fired in response to and .
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Leaderboard ID.
+
+
+
+
+ How many entires there are for requested leaderboard.
+
+
+
+
+ Sort method to use for this leaderboard.
+
+
+
+
+ Display type for this leaderboard.
+
+
+
+
+ This callback is fired in response to .
+
+
+
+
+ Represents a single package in this response.
+
+
+
+
+ Gets the for this entry.
+
+
+
+
+ Gets the global rank for this entry.
+
+
+
+
+ Gets the score for this entry.
+
+
+
+
+ Gets the attached to this entry.
+
+
+
+
+ Extra game-defined information regarding how the user got that score.
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ How many entires there are for requested leaderboard.
+
+
+
+
+ Gets the list of leaderboard entries this response contains.
+
+
+
+
+ Retrieves the number of current players for a given app id.
+ Results are returned in a .
+
+ The app id to request the number of players for.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a leaderboard by name for a given appid.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request a leaderboard for.
+ Name of the leaderboard to request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a leaderboard by name, and will create it if it's not yet.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request a leaderboard for.
+ Name of the leaderboard to create.
+ Sort method to use for this leaderboard
+ Display type for this leaderboard.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Asks the Steam back-end for a set of rows in the leaderboard.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The AppID to request leaderboard rows for.
+ ID of the leaderboard to view.
+ The Job ID of the request. This can be used to find the appropriate .
+ Range start or 0.
+ Range end or max leaderboard entries.
+ Type of request.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The instance containing the event data.
+
+
+
+ This handler handles all user log on/log off related actions and callbacks.
+
+
+
+
+ This callback is returned in response to an attempt to log on to the Steam3 network through .
+
+
+
+
+ Gets the result of the logon.
+
+
+
+
+ Gets the extended result of the logon.
+
+
+
+
+ Gets the out of game secs per heartbeat value.
+ This is used internally by SteamKit to initialize heartbeating.
+
+
+
+
+ Gets the in game secs per heartbeat value.
+ This is used internally by SteamKit to initialize heartbeating.
+
+
+
+
+ Gets or sets the public IP of the client
+
+
+
+
+ Gets the Steam3 server time.
+
+
+
+
+ Gets the account flags assigned by the server.
+
+
+
+
+ Gets the client steam ID.
+
+
+
+
+ Gets the email domain.
+
+
+
+
+ Gets the Steam2 CellID.
+
+
+
+
+ Gets the Steam2 CellID ping threshold.
+
+
+
+
+ Gets the Steam2 ticket.
+ This is used for authenticated content downloads in Steam2.
+ This field will only be set when has been set to true.
+
+
+
+
+ Gets a value indicating whether the client should use PICS.
+
+
+
+
+ Gets the WebAPI authentication user nonce.
+
+
+
+
+ Gets the IP country code.
+
+
+
+
+ Gets the vanity URL.
+
+
+
+
+ Gets the threshold for login failures before Steam wants the client to migrate to a new CM.
+
+
+
+
+ Gets the threshold for disconnects before Steam wants the client to migrate to a new CM.
+
+
+
+
+ This callback is returned when the client is told to log off by the server.
+
+
+
+
+ Gets the result of the log off.
+
+ The result.
+
+
+
+ This callback is returned some time after logging onto the network.
+
+
+
+
+ Gets the login key.
+
+ The login key.
+
+
+
+ Gets the unique ID.
+
+ The unique ID.
+
+
+
+ This callback is fired when the client recieves it's unique Steam3 session token. This token is used for authenticated content downloading in Steam2.
+
+
+
+
+ Gets the Steam3 session token used for authenticating to various other services.
+
+
+
+
+ This callback is received when account information is recieved from the network.
+ This generally happens after logon.
+
+
+
+
+ Gets the last recorded persona name used by this account.
+
+
+
+
+ Gets the country this account is connected from.
+
+
+
+
+ Gets the count of SteamGuard authenticated computers.
+
+
+
+
+ Gets the account flags for this account.
+
+
+
+
+ Gets the facebook ID of this account if it is linked with facebook.
+
+
+
+
+ Gets the facebook name if this account is linked with facebook.
+
+
+
+
+ This callback is received when wallet info is recieved from the network.
+
+
+
+
+ Gets a value indicating whether this instance has wallet data.
+
+
+ true if this instance has wallet data; otherwise, false.
+
+
+
+
+ Gets the currency code for this wallet.
+
+
+
+
+ Gets the balance of the wallet, in cents.
+
+
+
+
+ This callback is received when the backend wants the client to update it's local machine authentication data.
+
+
+
+
+ Represents various one-time-password details.
+
+
+
+
+ Gets the OTP type.
+
+
+
+
+ Gets the OTP identifier.
+
+
+
+
+ Gets the OTP shared secret.
+
+
+
+
+ Gets the OTP time drift.
+
+
+
+
+ Implicitly converts into .
+
+ The details to convert.
+
+
+
+
+ Gets the sentry file data that should be written.
+
+
+
+
+ Gets the number of bytes to write.
+
+
+
+
+ Gets the offset to write to.
+
+
+
+
+ Gets the name of the sentry file to write.
+
+
+
+
+ Gets the one-time-password details.
+
+
+
+
+ This callback is received when requesting a new WebAPI authentication user nonce.
+
+
+
+
+ Gets the result of the request.
+
+
+
+
+ Gets the authentication nonce.
+
+
+
+
+ This callback is fired when the client receives a marketing message update.
+
+
+
+
+ Represents a single marketing message.
+
+
+
+
+ Gets the unique identifier for this marketing message.
+
+
+
+
+ Gets the URL for this marketing message.
+
+
+
+
+ Gets the marketing message flags.
+
+
+
+
+ Gets the time of this marketing message update.
+
+
+
+
+ Gets the messages.
+
+
+
+
+ Represents the details required to log into Steam3 as a user.
+
+
+
+
+ Gets or sets the username.
+
+ The username.
+
+
+
+ Gets or sets the password.
+
+ The password.
+
+
+
+ Gets or sets the CellID.
+
+ The CellID.
+
+
+
+ Gets or sets the LoginID. This number is used for identifying logon session.
+ The purpose of this field is to allow multiple sessions to the same steam account from the same machine.
+ This is because Steam Network doesn't allow more than one session with the same LoginID to access given account at the same time from the same public IP.
+ If you want to establish more than one active session to given account, you must make sure that every session (to that account) from the same public IP has a unique LoginID.
+ By default LoginID is automatically generated based on machine's primary bind address, which is the same for all sessions.
+ Null value will cause this property to be automatically generated based on default behaviour.
+ If in doubt, set this property to null.
+
+ The LoginID.
+
+
+
+ Gets or sets the Steam Guard auth code used to login. This is the code sent to the user's email.
+
+ The auth code.
+
+
+
+ Gets or sets the 2-factor auth code used to login. This is the code that can be received from the authenticator apps.
+
+ The two factor auth code.
+
+
+
+ Gets or sets the login key used to login. This is a key that has been recieved in a previous Steam sesson by a .
+
+ The login key.
+
+
+
+ Gets or sets the 'Should Remember Password' flag. This is used in combination with the login key and for password-less login.
+
+ The 'Should Remember Password' flag.
+
+
+
+ Gets or sets the sentry file hash for this logon attempt, or null if no sentry file is available.
+
+ The sentry file hash.
+
+
+
+ Gets or sets the account instance. 1 for the PC instance or 2 for the Console (PS3) instance.
+
+ The account instance.
+
+
+
+
+
+ Gets or sets the account ID used for connecting clients when using the Console instance.
+
+
+ The account ID.
+
+
+
+
+
+ Gets or sets a value indicating whether to request the Steam2 ticket.
+ This is an optional request only needed for Steam2 content downloads.
+
+
+ true if the Steam2 ticket should be requested; otherwise, false.
+
+
+
+
+ Gets or sets the client operating system type.
+
+ The client operating system type.
+
+
+
+ Gets or sets the client language.
+
+ The client language.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Represents the details required to log into Steam3 as an anonymous user.
+
+
+
+
+ Gets or sets the CellID.
+
+ The CellID.
+
+
+
+ Gets or sets the client operating system type.
+
+ The client operating system type.
+
+
+
+ Gets or sets the client language.
+
+ The client language.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Represents details required to complete a machine auth request.
+
+
+
+
+ The One-Time-Password details for this response.
+
+
+
+
+ Gets or sets the one-time-password type.
+
+
+
+
+ Gets or sets the one-time-password identifier.
+
+
+
+
+ Gets or sets the one-time-password value.
+
+
+
+
+ Gets or sets the target Job ID for the request.
+ This is provided in the for a .
+
+ The Job ID.
+
+
+
+ Gets or sets the result of updating the machine auth.
+
+ The result.
+
+
+
+ Gets or sets the number of bytes written for the sentry file.
+
+ The number of bytes written.
+
+
+
+ Gets or sets the offset within the sentry file that was written.
+
+ The offset.
+
+
+
+ Gets or sets the filename of the sentry file that was written.
+
+ The name of the sentry file.
+
+
+
+ Gets or sets the size of the sentry file.
+
+ / The size of the sentry file.
+
+
+
+ Gets or sets the last error that occurred while writing the sentry file, or 0 if no error occurred.
+
+ The last error.
+
+
+
+ Gets or sets the SHA-1 hash of the sentry file.
+
+ The sentry file hash.
+
+
+
+ Gets or sets the one-time-password details.
+
+ The one time password details.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the SteamID of this client. This value is assigned after a logon attempt has succeeded.
+
+ The SteamID.
+
+
+
+ Logs the client into the Steam3 network.
+ The client should already have been connected at this point.
+ Results are returned in a .
+
+ The details to use for logging on.
+ No logon details were provided.
+ Username or password are not set within .
+
+
+
+ Logs the client into the Steam3 network as an anonymous user.
+ The client should already have been connected at this point.
+ Results are returned in a .
+
+
+
+
+ Logs the client into the Steam3 network as an anonymous user.
+ The client should already have been connected at this point.
+ Results are returned in a .
+
+ The details to use for logging on.
+
+
+
+ Informs the Steam servers that this client wishes to log off from the network.
+ The Steam server will disconnect the client, and a will be posted.
+
+
+
+
+ Sends a machine auth response.
+ This should normally be used in response to a .
+
+ The details pertaining to the response.
+
+
+
+ Requests a new WebAPI authentication user nonce.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Accepts the new Login Key provided by a .
+
+ The callback containing the new Login Key.
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ This handler is used for requesting files published on the Steam Workshop.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the number of reports for this file.
+
+
+
+
+ Gets the score of this file, based on up and down votes.
+
+
+
+
+ Gets the total count of up votes.
+
+
+
+
+ Gets the total count of down votes.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the time this file was subscribed to.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ This callback is received in response to calling .
+
+
+
+
+ Represents the details of a single published file.
+
+
+
+
+ Gets the file ID.
+
+
+
+
+ Gets the timestamp of this file.
+
+
+
+
+ Gets the result.
+
+
+
+
+ Gets the list of enumerated files.
+
+
+
+
+ Gets the count of total results.
+
+
+
+
+ Represents the details of an enumeration request used for the local user's files.
+
+
+
+
+ Gets or sets the AppID of the workshop to enumerate.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the sort order.
+ This value is only used by .
+
+
+ The sort order.
+
+
+
+
+ Gets or sets the start index.
+
+
+ The start index.
+
+
+
+
+ Gets or sets the user action to filter by.
+ This value is only used by .
+
+
+ The user action.
+
+
+
+
+ Enumerates the list of published files for the current logged in user.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Enumerates the list of subscribed files for the current logged in user.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Enumerates the list of published files for the current logged in user based on user action.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Represents the details of an enumeration request for all published files.
+
+
+
+
+ Gets or sets the AppID of the workshop to enumerate.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the type of the enumeration.
+
+
+ The type.
+
+
+
+
+ Gets or sets the start index.
+
+
+ The start index.
+
+
+
+
+ Gets or sets the days.
+
+
+ The days.
+
+
+
+
+ Gets or sets the number of results to return.
+
+
+ The number of results.
+
+
+
+
+ Gets the list of tags to enumerate.
+
+
+
+
+ Gets the list of user tags to enumerate.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Enumerates the list of all published files on the Steam workshop.
+ Results are returned in a .
+ The returned can also be awaited to retrieve the callback result.
+
+ The specific details of the request.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Handles a client message. This should not be called directly.
+
+ The packet message that contains the data.
+
+
+
+ Tracks a job with this manager.
+
+ The asynchronous job to track.
+
+
+
+ Passes a callback to a pending async job.
+ If the given callback completes the job, the job is removed from this manager.
+
+ The JobID.
+ The callback.
+
+
+
+ Extends the lifetime of a job.
+
+ The job identifier.
+
+
+
+ Marks a certain job as remotely failed.
+
+ The job identifier.
+
+
+
+ Cancels and clears all jobs being tracked.
+
+
+
+
+ Enables or disables periodic checks for job timeouts.
+
+ Whether or not job timeout checks should be enabled.
+
+
+
+ This is called periodically to cancel and clear out any jobs that have timed out (no response from Steam).
+
+
+
+
+ Retrieves a job from this manager, and optionally removes it from tracking.
+
+ The JobID.
+ If set to true, this job is removed from tracking.
+
+
+
+
+ Thrown when Steam encounters a remote error with a pending .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message that describes the error.
+
+
+
+ Initializes a new instance of the class.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ This class is a utility for routing callbacks to function calls.
+ In order to bind callbacks to functions, an instance of this class must be created for the
+ instance that will be posting callbacks.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The instance to handle the callbacks of.
+
+
+
+ Runs a single queued callback.
+ If no callback is queued, this method will instantly return.
+
+
+
+
+ Blocks the current thread to run a single queued callback.
+ If no callback is queued, the method will block for the given timeout.
+
+ The length of time to block.
+
+
+
+ Blocks the current thread to run all queued callbacks.
+ If no callback is queued, the method will block for the given timeout.
+
+ The length of time to block.
+
+
+
+ Blocks the current thread to run a single queued callback.
+ If no callback is queued, the method will block until one is posted.
+
+
+
+
+ Registers the provided to receive callbacks of type .
+
+ The of the callbacks that should be subscribed to.
+ If this is , all callbacks of type will be recieved.
+ The function to invoke with the callback.
+ The type of callback to subscribe to.
+ An . Disposing of the return value will unsubscribe the .
+
+
+
+ Registers the provided to receive callbacks of type .
+
+ The function to invoke with the callback.
+ An . Disposing of the return value will unsubscribe the .
+
+
+
+ A callback message
+
+
+
+
+ The that this callback is associated with. If there is no job associated,
+ then this will be
+
+
+
+
+ Represents the base object all callbacks are based off.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the job ID this callback refers to. If it is not a job callback, it will be .
+
+
+
+
+ Represents a single client that connects to the Steam3 network.
+ This class is also responsible for handling the registration of client message handlers and callbacks.
+
+
+
+
+ This callback is received after attempting to connect to the Steam network.
+
+
+
+
+ Gets the result of the connection attempt.
+
+ The result.
+
+
+
+ This callback is received when the steamclient is physically disconnected from the Steam network.
+
+
+
+
+ If true, the disconnection was initiated by calling .
+ If false, the disconnection was the cause of something not user-controlled, such as a network failure or
+ a forcible disconnection by the remote server.
+
+
+
+
+ This callback is received when the client has received the CM list from Steam.
+
+
+
+
+ Gets the CM server list.
+
+
+
+
+ This callback is fired when the client receives a list of all publically available Steam3 servers.
+ This callback may be fired multiple times for different server lists.
+
+
+
+
+ Gets the server list.
+
+
+
+
+ Initializes a new instance of the class with a specific connection type.
+
+ The connection type to use.
+
+
+
+ Adds a new handler to the internal list of message handlers.
+
+ The handler to add.
+ A handler of that type is already registered.
+
+
+
+ Removes a registered handler by name.
+
+ The handler name to remove.
+
+
+
+ Removes a registered handler.
+
+ The handler to remove.
+
+
+
+ Returns a registered handler.
+
+ The type of the handler to cast to. Must derive from ClientMsgHandler.
+
+ A registered handler on success, or null if the handler could not be found.
+
+
+
+
+ Gets the next callback object in the queue.
+ This function does not dequeue the callback, you must call FreeLastCallback after processing it.
+
+ The next callback in the queue, or null if no callback is waiting.
+
+
+
+ Gets the next callback object in the queue, and optionally frees it.
+
+ if set to true this function also frees the last callback if one existed.
+ The next callback in the queue, or null if no callback is waiting.
+
+
+
+ Blocks the calling thread until a callback object is posted to the queue.
+ This function does not dequeue the callback, you must call FreeLastCallback after processing it.
+
+ The callback object from the queue.
+
+
+
+ Blocks the calling thread until a callback object is posted to the queue, or null after the timeout has elapsed.
+ This function does not dequeue the callback, you must call FreeLastCallback after processing it.
+
+ The length of time to block.
+ A callback object from the queue if a callback has been posted, or null if the timeout has elapsed.
+
+
+
+ Blocks the calling thread until a callback object is posted to the queue, and optionally frees it.
+
+ if set to true this function also frees the last callback.
+ The callback object from the queue.
+
+
+
+ Blocks the calling thread until a callback object is posted to the queue, and optionally frees it.
+
+ if set to true this function also frees the last callback.
+ The length of time to block.
+ A callback object from the queue if a callback has been posted, or null if the timeout has elapsed.
+
+
+
+ Blocks the calling thread until the queue contains a callback object. Returns all callbacks, and optionally frees them.
+
+ if set to true this function also frees all callbacks.
+ The length of time to block.
+ All current callback objects in the queue.
+
+
+
+ Frees the last callback in the queue.
+
+
+
+
+ Posts a callback to the queue. This is normally used directly by client message handlers.
+
+ The message.
+
+
+
+ Returns the next available JobID for job based messages.
+ This function is thread-safe.
+
+ The next available JobID.
+
+
+
+ Called when a client message is received from the network.
+
+ The packet message.
+
+
+
+ Called when the client is physically disconnected from Steam3.
+
+
+
+
+ Represents a single client that connects to a UFS server.
+
+
+
+
+ This callback is received after attempting to connect to the UFS server.
+
+
+
+
+ Gets the result of the connection attempt.
+
+ The result.
+
+
+
+ This callback is received when the client is physically disconnected from the UFS server.
+
+
+
+
+ If true, the disconnection was initiated by calling .
+ If false, the disconnection was the cause of something not user-controlled, such as a network failure or
+ a forcible disconnection by the remote server.
+
+
+
+
+ This callback is returned in response to an attempt to log on to the UFS server through .
+
+
+
+
+ Gets the result of the logon
+
+
+
+
+ This callback is returned in response to a request to upload a file through .
+
+
+
+
+ Gets the result of the upload request
+
+
+
+
+ Gets whether or not the file upload should proceed over HTTP
+
+
+
+
+ Gets whether or not the file upload should proceed over HTTPS
+
+
+
+
+ Gets whether or not the file should be encrypted during upload
+
+
+
+
+ Gets the SHA hash of the file to be uploaded
+
+
+
+
+ Gets the JobID on the UFS server.
+
+
+
+
+ This callback is returned when a file upload through is completed.
+
+
+
+
+ Gets the result of the file upload
+
+
+
+
+ Gets the SHA hash of the file that was uploaded
+
+
+
+
+ Gets the connected universe of this client.
+ This value will be if the client is not connected to Steam.
+
+ The universe.
+
+
+
+ Gets a value indicating whether this instance is connected to the remote UFS server.
+
+
+ true if this instance is connected; otherwise, false.
+
+
+
+
+ Gets or sets the connection timeout used when connecting to the UFS server.
+ The default value is 5 seconds.
+
+
+ The connection timeout.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The parent instance that the UFS connection is for.
+ Callbacks will also be posted through this instance.
+
+
+
+
+ Connects this client to a UFS server.
+ This begins the process of connecting and encrypting the data channel between the client and the UFS server.
+ Results are returned asynchronously in a .
+ If the UFS server that this client attempts to connect to is down, a will be posted instead.
+ will not attempt to reconnect to Steam, you must handle this callback and call again, preferrably after a short delay.
+ In order to connect to the UFS server, the parent must be connected to the CM server.
+
+
+ The of the UFS server to connect to.
+ If null, will randomly select a UFS server from the 's list of servers.
+
+
+
+
+ Disconnects this client from the UFS server.
+ a will be posted upon disconnection.
+
+
+
+
+ Represents all the information required to upload a file to the UFS server.
+
+
+
+
+ Gets or sets the AppID this upload request is for.
+
+
+ The AppID.
+
+
+
+
+ Gets or sets the remote name of the file that is being uploaded.
+
+
+ The name of the file.
+
+
+
+
+ Gets or sets the physical file data for this upload.
+
+
+ The file data.
+
+
+
+
+ Gets or sets the JobID of this file upload. This value should be assigned from .
+
+
+ The job ID.
+
+
+
+
+ Attempt to logon to the UFS and authorize the client for the given AppIDs.
+ The should be connected before this point.
+ Results are returned in a .
+
+ The AppIDs to authorize when connecting to the UFS.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Begins a request to upload a file to the UFS.
+ The should be logged on before this point.
+ Results are returned in a .
+
+ The details to use for uploading the file.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Uploads the actual contents of a file to the UFS.
+ The should be logged on before this point, and the previous request to upload a file must have completed successfully.
+ Results are returned in a .
+
+ The details to use for uploading the file.
+ The Job ID of the request. This can be used to find the appropriate .
+
+
+
+ Sends the specified client message to the UFS server.
+ This method will automatically assign the correct of the message, as given by the parent .
+
+ The client message to send.
+
+
+
+ Helper class to load servers from the Steam Directory Web API.
+
+
+
+
+ Initializes 's server list with servers from the Steam Directory.
+
+ Cell ID
+
+
+
+ Load a list of servers from the Steam Directory.
+
+ Cell ID
+ A with the Result set to an enumerable list of s.
+
+
+
+ Load a list of servers from the Steam Directory.
+
+ Cell ID
+ Cancellation Token
+ A with the Result set to an enumerable list of s.
+
+
+
+ Utility class for interacting with the Steam Web API.
+
+
+
+
+ Represents a single interface that exists within the Web API.
+ This is a dynamic object that allows function calls to interfaces with minimal code.
+
+
+
+
+ Gets or sets the timeout value in milliseconds for any web requests made to the WebAPI.
+
+
+ The timeout value in milliseconds. The default value is 100,000 milliseconds (100 seconds).
+
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ if set to true this method will be called through the secure API.
+ A object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ The http request method. Either "POST" or "GET".
+ if set to true this method will be called through the secure API.
+ A object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Provides the implementation for operations that invoke a member.
+ Classes derived from the class can
+ override this method to specify dynamic behavior for operations such as calling a method.
+ This method should not be called directly, it is called through dynamic method calls.
+
+
+ Provides information about the dynamic operation.
+ The binder.Name property provides the name of the member on which the dynamic operation is performed.
+ For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
+ class derived from the class, binder.Name returns "SampleMethod".
+ The binder.IgnoreCase property specifies whether the member name is case-sensitive.
+
+
+ The arguments that are passed to the object member during the invoke operation. For example,
+ for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
+ class, the first argument to is equal to 100.
+
+ The result of the member invocation.
+
+ true if the operation is successful; otherwise, false. If this method returns false, the run-time
+ binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
+
+
+ Dynamic method is called with non-named argument.
+ All parameters must be passed as name arguments to API calls.
+ - or -
+ The dynamic method name was not in the correct format.
+ All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
+
+
+ The reserved named parameter 'secure' was not a boolean value.
+ This parameter is used when requests must go through the secure API.
+
+
+ The function version number specified was out of range.
+
+
+
+
+ Represents a single interface that exists within the Web API.
+ This is a dynamic object that allows function calls to interfaces with minimal code.
+ This version of the class makes use of TPL Tasks to provide an asynchronous API.
+
+
+
+
+ Manually calls the specified Web API function with the provided details.
+
+ The function name to call.
+ The version of the function to call.
+ A dictionary of string key value pairs representing arguments to be passed to the API.
+ The http request method. Either "POST" or "GET".
+ if set to true this method will be called through the secure API.
+ A that contains a object representing the results of the Web API call.
+ The function name or request method provided were null.
+ An network error occurred when performing the request.
+ An error occured when parsing the response from the WebAPI.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Provides the implementation for operations that invoke a member.
+ Classes derived from the class can
+ override this method to specify dynamic behavior for operations such as calling a method.
+ This method should not be called directly, it is called through dynamic method calls.
+
+
+ Provides information about the dynamic operation.
+ The binder.Name property provides the name of the member on which the dynamic operation is performed.
+ For example, for the statement sampleObject.SampleMethod(100), where sampleObject is an instance of the
+ class derived from the class, binder.Name returns "SampleMethod".
+ The binder.IgnoreCase property specifies whether the member name is case-sensitive.
+
+
+ The arguments that are passed to the object member during the invoke operation. For example,
+ for the statement sampleObject.SampleMethod(100), where sampleObject is derived from the
+ class, the first argument to is equal to 100.
+
+ The result of the member invocation.
+
+ true if the operation is successful; otherwise, false. If this method returns false, the run-time
+ binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
+
+
+ Dynamic method is called with non-named argument.
+ All parameters must be passed as name arguments to API calls.
+ - or -
+ The dynamic method name was not in the correct format.
+ All API function calls must be in the format 'FunctionName###' where the optional ###'s represent a version number.
+
+
+ The reserved named parameter 'secure' was not a boolean value.
+ This parameter is used when requests must go through the secure API.
+
+
+ The function version number specified was out of range.
+
+
+
+
+ Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
+
+ The interface to retrieve a handler for.
+ An optional API key to be used for authorized requests.
+ A dynamic object to interact with the Web API.
+
+
+
+ Retreives a dynamic handler capable of interacting with the specified interface on the Web API.
+
+ The interface to retrieve a handler for.
+ An optional API key to be used for authorized requests.
+ A dynamic object to interact with the Web API.
+
+
+
+ Represents a Steam3 depot manifest.
+
+
+
+
+ Represents a single chunk within a file.
+
+
+
+
+ Gets or sets the SHA-1 hash chunk id.
+
+
+
+
+ Gets or sets the expected Adler32 checksum of this chunk.
+
+
+
+
+ Gets or sets the chunk offset.
+
+
+
+
+ Gets or sets the compressed length of this chunk.
+
+
+
+
+ Gets or sets the decompressed length of this chunk.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Represents a single file within a manifest.
+
+
+
+
+ Gets the name of the file.
+
+
+
+
+ Gets the chunks that this file is composed of.
+
+
+
+
+ Gets the file flags
+
+
+
+
+ Gets the total size of this file.
+
+
+
+
+ Gets the hash of this file.
+
+
+
+
+ Gets the list of files within this manifest.
+
+
+
+
+ Gets a value indicating whether filenames within this depot are encrypted.
+
+
+ true if the filenames are encrypted; otherwise, false.
+
+
+
+
+ Attempts to decrypts file names with the given encryption key.
+
+ The encryption key.
+ true if the file names were successfully decrypted; otherwise, false.
+
+
+
+ This 64bit structure represents an app, mod, shortcut, or p2p file on the Steam network.
+
+
+
+
+ Represents various types of games.
+
+
+
+
+ A Steam application.
+
+
+
+
+ A game modification.
+
+
+
+
+ A shortcut to a program.
+
+
+
+
+ A peer-to-peer file.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The 64bit integer to assign this GameID from.
+
+
+
+ Initializes a new instance of the class.
+
+ The 32bit app id to assign this GameID from.
+
+
+
+ Sets the various components of this GameID from a 64bit integer form.
+
+ The 64bit integer to assign this GameID from.
+
+
+
+ Converts this GameID into it's 64bit integer form.
+
+ A 64bit integer representing this GameID.
+
+
+
+ Performs an implicit conversion from to .
+
+ The GameID to convert..
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The GameId to convert.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The 64bit integer representing a GameID to convert.
+
+ The result of the conversion.
+
+
+
+
+ Gets or sets the app id.
+
+
+ The app IDid
+
+
+
+
+ Gets or sets the type of the app.
+
+
+ The type of the app.
+
+
+
+
+ Gets or sets the mod id.
+
+
+ The mod ID.
+
+
+
+
+ Gets a value indicating whether this instance is a mod.
+
+
+ true if this instance is a mod; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a shortcut.
+
+
+ true if this instance is a shortcut; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a peer-to-peer file.
+
+
+ true if this instance is a p2p file; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a steam app.
+
+
+ true if this instance is a steam app; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left side GameID.
+ The right side GameID.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left side GameID.
+ The right side GameID.
+
+ The result of the operator.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Represents a globally unique identifier within the Steam network.
+ Guaranteed to be unique across all racks and servers for a given Steam universe.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The GID value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The gid.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The gid.
+
+ The result of the conversion.
+
+
+
+
+ Gets or sets the sequential count for this GID.
+
+
+ The sequential count.
+
+
+
+
+ Gets or sets the start time of the server that generated this GID.
+
+
+ The start time.
+
+
+
+
+ Gets or sets the process ID of the server that generated this GID.
+
+
+ The process ID.
+
+
+
+
+ Gets or sets the box ID of the server that generated this GID.
+
+
+ The box ID.
+
+
+
+
+ Gets or sets the entire 64bit value of this GID.
+
+
+ The value.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left side GID.
+ The right side GID.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left side GID.
+ The right side GID.
+
+ The result of the operator.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Represents a single unique handle to a piece of User Generated Content.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The UGC ID.
+
+
+
+ Performs an implicit conversion from to .
+
+ The UGC handle.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The UGC ID.
+
+ The result of the conversion.
+
+
+
+
+ Represents an identifier of a network task known as a job.
+
+
+
+
+ Represents an invalid JobID.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The Job ID to initialize this instance with.
+
+
+
+ Performs an implicit conversion from to .
+
+ The Job ID.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The Job ID.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The asynchronous job.
+
+ The result of the conversion.
+
+
+
+
+ The base class for awaitable versions of a .
+ Should not be used or constructed directly, but rather with .
+
+
+
+
+ Gets the for this job.
+
+
+
+
+ Gets or sets the period of time before this job will be considered timed out and will be canceled. By default this is 10 seconds.
+
+
+
+
+ Adds a callback to the async job's result set.
+
+ The callback.
+ true if this result completes the set; otherwise, false.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
+
+
+ Marks this job as having received a heartbeat and extends the job's timeout.
+
+
+
+
+ Represents an awaitable version of a .
+ Can either be converted to a TPL with or can be awaited directly.
+
+ The callback type that will be returned by this async job.
+
+
+
+ Initializes a new instance of the class.
+
+ The that this job will be associated with.
+ The Job ID value associated with this async job.
+
+
+
+ Converts this instance into a TPL .
+
+
+
+
+ Gets an awaiter used to await this .
+ An awaiter instance.
+ This method is intended for compiler use rather than use directly in code.
+
+
+
+ Adds a callback to the async job's result set. For an , this always completes the set.
+
+ The callback.
+ Always true.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
+
+
+ Represents an awaitable version of a .
+ Can either be converted to a TPL with or can be awaited directly.
+ This type of async job can contain multiple callback results.
+
+ The callback type that will be returned by this async job.
+
+
+
+ The set of callback results for an .
+
+
+
+
+ Gets a value indicating whether this is complete and contains every result sent by Steam.
+
+
+
+
+ Gets a value indicating whether the parent received an incomplete result set and then encountered a remote failure.
+
+
+
+
+ Gets a read only collection of callback results for this async job.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The that this job will be associated with.
+ The Job ID value associated with this async job.
+ The condition that must be fulfilled for the result set to be considered complete.
+
+
+
+ Converts this instance into a TPL .
+
+
+
+
+ Gets an awaiter used to await this .
+ An awaiter instance.
+ This method is intended for compiler use rather than use directly in code.
+
+
+
+ Adds a callback to the async job's result set.
+
+ The callback.
+ true if this result completes the set; otherwise, false.
+
+
+
+ Sets this job as failed, either remotely or due to a message timeout.
+
+
+ If set to true this job is marked as failed because Steam informed us of a job failure;
+ otherwise, this job has failed due to a message timeout.
+
+
+
+
+ Represents a recursive string key to arbitrary value container.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The optional name of the root key.
+ The optional value assigned to the root key.
+
+
+
+ Represents an invalid given when a searched for child does not exist.
+
+
+
+
+ Gets or sets the name of this instance.
+
+
+
+
+ Gets or sets the value of this instance.
+
+
+
+
+ Gets the children of this instance.
+
+
+
+
+ Gets or sets the child with the specified key.
+ When retrieving by key, if no child with the given key exists, is returned.
+
+
+
+
+ Returns the value of this instance as a string.
+
+ The value of this instance as a string.
+
+
+
+ Attempts to convert and return the value of this instance as an unsigned byte.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an unsigned byte.
+
+
+
+ Attempts to convert and return the value of this instance as an unsigned short.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an unsigned short.
+
+
+
+ Attempts to convert and return the value of this instance as an integer.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an integer.
+
+
+
+ Attempts to convert and return the value of this instance as an unsigned integer.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an unsigned integer.
+
+
+
+ Attempts to convert and return the value of this instance as a long.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as a long.
+
+
+
+ Attempts to convert and return the value of this instance as an unsigned long.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an unsigned long.
+
+
+
+ Attempts to convert and return the value of this instance as a float.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as a float.
+
+
+
+ Attempts to convert and return the value of this instance as a boolean.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as a boolean.
+
+
+
+ Attempts to convert and return the value of this instance as an enum.
+ If the conversion is invalid, the default value is returned.
+
+ The default value to return if the conversion is invalid.
+ The value of this instance as an enum.
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Attempts to load the given filename as a text .
+
+ The path to the file to load.
+ a instance if the load was successful, or null on failure.
+
+ This method will swallow any exceptions that occur when reading, use if you wish to handle exceptions.
+
+
+
+
+ Attempts to load the given filename as a binary .
+
+ The path to the file to load.
+ The resulting object if the load was successful, or null if unsuccessful.
+ true if the load was successful, or false on failure.
+
+
+
+ Attempts to create an instance of from the given input text.
+
+ The input text to load.
+ a instance if the load was successful, or null on failure.
+
+ This method will swallow any exceptions that occur when reading, use if you wish to handle exceptions.
+
+
+
+
+ Populate this instance from the given as a text .
+
+ The input to read from.
+ true if the read was successful; otherwise, false.
+
+
+
+ Opens and reads the given filename as text.
+
+
+ The file to open and read.
+ true if the read was successful; otherwise, false.
+
+
+
+ Saves this instance to file.
+
+ The file path to save to.
+ If set to true, saves this instance as binary.
+
+
+
+ Saves this instance to a given .
+
+ The to save to.
+ If set to true, saves this instance as binary.
+
+
+
+ Populate this instance from the given as a binary .
+
+ The input to read from.
+ true if the read was successful; otherwise, false.
+
+
+
+ Represents the binary Steam3 manifest format.
+
+
+
+
+ Represents a backed MessageObject structure, which are often sent by the Steam servers.
+
+
+
+
+ Gets the inner object.
+
+
+
+
+ Initializes a new instance of the class, using the provided KeyValues object.
+
+ The KeyValue backing store for this message object.
+
+
+
+ Initializes a new instance of the class with an empty inner KeyValues.
+
+
+
+
+ Populates this MessageObject instance from the data inside the given stream.
+
+ The stream to load data from.
+ true on success; otherwise, false.
+
+
+
+ Writes this MessageObject instance to the given stream.
+
+ The stream to write to.
+
+
+
+ The base class used for wrapping common ulong types, to introduce type safety and distinguish between common types.
+
+
+
+
+ Gets or sets the value.
+
+
+ The value.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The value to initialize this handle to.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+
+ true if the current object is equal to the other parameter; otherwise, false.
+
+
+
+
+ Represents a handle to a published file on the Steam workshop.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The file id.
+
+
+
+ Performs an implicit conversion from to .
+
+ The published file.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The file id.
+
+ The result of the conversion.
+
+
+
+
+ Implements the operator ==.
+
+ The first published file.
+ The second published file.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The first published file.
+ The second published file.
+
+ The result of the operator.
+
+
+
+
+ This 64-bit structure is used for identifying various objects on the Steam network.
+
+
+
+
+ The account instance value when representing all instanced SteamIDs.
+
+
+
+
+ The account instance value for a desktop .
+
+
+
+
+ The account instance value for a console .
+
+
+
+
+ The account instance for mobile or web based SteamIDs.
+
+
+
+
+ Masking value used for the account id.
+
+
+
+
+ Masking value used for packing chat instance flags into a .
+
+
+
+
+ Represents various flags a chat may have, packed into its instance.
+
+
+
+
+ This flag is set for clan based chat SteamIDs.
+
+
+
+
+ This flag is set for lobby based chat SteamIDs.
+
+
+
+
+ This flag is set for matchmaking lobby based chat SteamIDs.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The account ID.
+ The universe.
+ The account type.
+
+
+
+ Initializes a new instance of the class.
+
+ The account ID.
+ The instance.
+ The universe.
+ The account type.
+
+
+
+ Initializes a new instance of the class.
+
+ The 64bit integer to assign this SteamID from.
+
+
+
+ Initializes a new instance of the class from a Steam2 "STEAM_" rendered form.
+ This constructor assumes the rendered SteamID is in the public universe.
+
+ A "STEAM_" rendered form of the SteamID.
+
+
+
+ Initializes a new instance of the class from a Steam2 "STEAM_" rendered form and universe.
+
+ A "STEAM_" rendered form of the SteamID.
+ The universe the SteamID belongs to.
+
+
+
+ Sets the various components of this SteamID instance.
+
+ The account ID.
+ The universe.
+ The account type.
+
+
+
+ Sets the various components of this SteamID instance.
+
+ The account ID.
+ The instance.
+ The universe.
+ The account type.
+
+
+
+ Sets the various components of this SteamID from a Steam2 "STEAM_" rendered form and universe.
+
+ A "STEAM_" rendered form of the SteamID.
+ The universe the SteamID belongs to.
+ true if this instance was successfully assigned; otherwise, false if the given string was in an invalid format.
+
+
+
+ Sets the various components of this SteamID from a Steam3 "[X:1:2:3]" rendered form and universe.
+
+ A "[X:1:2:3]" rendered form of the SteamID.
+ true if this instance was successfully assigned; otherwise, false if the given string was in an invalid format.
+
+
+
+ Sets the various components of this SteamID from a 64bit integer form.
+
+ The 64bit integer to assign this SteamID from.
+
+
+
+ Converts this SteamID into it's 64bit integer form.
+
+ A 64bit integer representing this SteamID.
+
+
+
+ Returns a static account key used for grouping accounts with differing instances.
+
+ A 64bit static account key.
+
+
+
+ Gets a value indicating whether this instance is a blank anonymous account
+
+
+ true if this instance is a blank anon account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a game server account.
+
+
+ true if this instance is a game server account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a persistent game server account.
+
+
+ true if this instance is a persistent game server account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is an anonymous game server account.
+
+
+ true if this instance is an anon game server account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a content server account.
+
+
+ true if this instance is a content server account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a clan account.
+
+
+ true if this instance is a clan account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a chat account.
+
+
+ true if this instance is a chat account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a lobby.
+
+
+ true if this instance is a lobby; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is an individual account.
+
+
+ true if this instance is an individual account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is an anonymous account.
+
+
+ true if this instance is an anon account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is an anonymous user account.
+
+
+ true if this instance is an anon user account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is a console user account.
+
+
+ true if this instance is a console user account; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this instance is valid.
+
+
+ true if this instance is valid; otherwise, false.
+
+
+
+
+ Gets or sets the account id.
+
+
+ The account id.
+
+
+
+
+ Gets or sets the account instance.
+
+
+ The account instance.
+
+
+
+
+ Gets or sets the account type.
+
+
+ The account type.
+
+
+
+
+ Gets or sets the account universe.
+
+
+ The account universe.
+
+
+
+
+ Renders this instance into it's Steam2 "STEAM_" or Steam3 representation.
+
+ If set to true, the Steam3 rendering will be returned; otherwise, the Steam2 STEAM_ rendering.
+
+ A string Steam2 "STEAM_" representation of this SteamID, or a Steam3 representation.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ The SteamID.
+
+ The result of the conversion.
+
+
+
+
+ Performs an implicit conversion from to .
+
+ A 64bit integer representing the SteamID.
+
+ The result of the conversion.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Implements the operator ==.
+
+ The left side SteamID.
+ The right side SteamID.
+
+ The result of the operator.
+
+
+
+
+ Implements the operator !=.
+
+ The left side SteamID.
+ The right side SteamID.
+
+ The result of the operator.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Handles encrypting and decrypting using the RSA public key encryption
+ algorithm.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The public key to encrypt with.
+
+
+
+ Encrypt the specified input.
+
+ The encrypted input.
+ The input to encrypt.
+
+
+
+ Disposes of this class.
+
+
+
+
+ Provides Crypto functions used in Steam protocols
+
+
+
+
+ Performs an SHA1 hash of an input byte array
+
+
+
+
+ Encrypts using AES/CBC/PKCS7 an input byte array with a given key and IV
+
+
+
+
+ Decrypts an input byte array using AES/CBC/PKCS7 with a given key and IV
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a random IV prepended using AES/ECB/None
+
+
+
+
+ Performs an encryption using AES/CBC/PKCS7 with an input byte array and key, with a IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the IV (comprised of random bytes and the HMAC-SHA1 of the random bytes and plaintext) prepended using AES/ECB/None
+
+
+
+
+ Decrypts using AES/CBC/PKCS7 with an input byte array and key, using the random IV prepended using AES/ECB/None
+
+
+
+
+ Verifies and performs a symmetricdecrypt on the input using the given password as a key
+
+
+
+
+ Decrypts using AES/ECB/PKCS7
+
+
+
+
+ Performs CRC32 on an input byte array using the CrcStandard.Crc32Bit parameters
+
+
+
+
+ Performs an Adler32 on the given input
+
+
+
+
+ Generate an array of random bytes given the input length
+
+
+
+
+ Interface all debug log listeners must implement in order to register themselves.
+
+
+
+
+ Called when the DebugLog wishes to inform listeners of debug spew.
+
+ The category of the message.
+ The message to log.
+
+
+
+ Represents the root debug logging functionality.
+
+
+
+
+ Gets or sets a value indicating whether debug logging is enabled.
+
+
+ true if enabled; otherwise, false.
+
+
+
+
+ Initializes the class.
+
+
+
+
+ Adds a listener.
+
+ The listener.
+
+
+
+ Adds an action listener.
+
+ The listener action.
+
+
+
+ Removes a listener.
+
+ The listener.
+
+
+
+ Removes a listener.
+
+ The previously registered listener action.
+
+
+
+ Clears all registered listeners from the .
+
+
+
+
+ Writes a line to the debug log, informing all listeners.
+
+ The category of the message.
+ A composite format string.
+ An System.Object array containing zero or more objects to format.
+
+
+
+ Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.
+ This method is equivalent to System.Diagnostics.Debug.Assert, however, it is tailored to spew failed assertions into the SteamKit debug log.
+
+ The conditional expression to evaluate. If the condition is true, the specified message is not sent and the message box is not displayed.
+ The category of the message.
+ The message to display if the assertion fails.
+
+
+
+ This is a debug utility, do not use it to implement your business logic.
+
+ This interface is used for logging network messages sent to and received from the Steam server that the client is connected to.
+
+
+
+
+ Called when a packet is received from the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that was received.
+
+
+
+ Called when a packet is about to be sent to the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that will be sent.
+
+
+
+ Dump any network messages sent to and received from the Steam server that the client is connected to.
+ These messages are dumped to file, and can be analyzed further with NetHookAnalyzer, a hex editor, or your own purpose-built tools.
+
+ Be careful with this, sensitive data may be written to the disk (such as your Steam password).
+
+
+
+
+ Will create a folder in path "%assembly%/nethook/%currenttime%/"
+
+
+
+
+ Log to your own folder.
+
+ Path to folder.
+
+
+
+ Called when a packet is received from the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that was received.
+
+
+
+ Called when a packet is about to be sent to the Steam server.
+
+ Network message type of this packet message.
+ Raw packet data that will be sent.
+
+
+
+ Contains the public keys that Steam uses for each of the
+ types.
+
+
+
+
+ Gets the public key for the given universe.
+
+ The public key.
+ The universe.
+
+
+
+ Contains various utility functions for dealing with dates.
+
+
+
+
+ Converts a given unix timestamp to a DateTime
+
+ A unix timestamp expressed as seconds since the unix epoch
+ DateTime representation
+
+
+
+ Converts a given DateTime into a unix timestamp representing seconds since the unix epoch.
+
+ DateTime to be expressed
+ 64-bit wide representation
+
+
+
+ Contains various utility functions for handling EMsgs.
+
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Strips off the protobuf message flag and returns an EMsg.
+
+ The message number.
+ The underlying EMsg.
+
+
+
+ Determines whether message is protobuf flagged.
+
+ The message.
+
+ true if this message is protobuf flagged; otherwise, false.
+
+
+
+
+ Determines whether message is protobuf flagged.
+
+ The message.
+
+ true if this message is protobuf flagged; otherwise, false.
+
+
+
+
+ Crafts an EMsg, flagging it if required.
+
+ The EMsg to flag.
+ if set to true, the message is protobuf flagged.
+ A crafted EMsg, flagged if requested.
+
+
+
+ Crafts an EMsg, flagging it if required.
+
+ The EMsg to flag.
+ if set to true, the message is protobuf flagged.
+ A crafted EMsg, flagged if requested.
+
+
+
+ The exception that is thrown when an error in input stream occurs during decoding.
+
+
+
+
+ The exception that is thrown when the value of an argument is outside the allowable range.
+
+
+
+
+ Callback progress.
+
+
+ input size. -1 if unknown.
+
+
+ output size. -1 if unknown.
+
+
+
+
+ Codes streams.
+
+
+ input Stream.
+
+
+ output Stream.
+
+
+ input Size. -1 if unknown.
+
+
+ output Size. -1 if unknown.
+
+
+ callback progress reference.
+
+
+ if input stream is not valid
+
+
+
+
+ Provides the fields that represent properties idenitifiers for compressing.
+
+
+
+
+ Specifies default property.
+
+
+
+
+ Specifies size of dictionary.
+
+
+
+
+ Specifies size of memory for PPM*.
+
+
+
+
+ Specifies order for PPM methods.
+
+
+
+
+ Specifies Block Size.
+
+
+
+
+ Specifies number of postion state bits for LZMA (0 <= x <= 4).
+
+
+
+
+ Specifies number of literal context bits for LZMA (0 <= x <= 8).
+
+
+
+
+ Specifies number of literal position bits for LZMA (0 <= x <= 4).
+
+
+
+
+ Specifies number of fast bytes for LZ*.
+
+
+
+
+ Specifies match finder. LZMA: "BT2", "BT4" or "BT4B".
+
+
+
+
+ Specifies the number of match finder cyckes.
+
+
+
+
+ Specifies number of passes.
+
+
+
+
+ Specifies number of algorithm.
+
+
+
+
+ Specifies the number of threads.
+
+
+
+
+ Specifies mode with end marker.
+
+
+
+
diff --git a/packages/SteamKit2.2.0.0-Alpha3/license.txt b/packages/SteamKit2.2.0.0-Alpha3/license.txt
new file mode 100644
index 000000000..7914af0f7
--- /dev/null
+++ b/packages/SteamKit2.2.0.0-Alpha3/license.txt
@@ -0,0 +1,15 @@
+Copyright (C) 2017 Ryan Stecker & SteamRE Team
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
\ No newline at end of file
diff --git a/packages/SteamKit2.1.8.2/readme.txt/changes.txt b/packages/SteamKit2.2.0.0-Alpha3/readme.txt
similarity index 96%
rename from packages/SteamKit2.1.8.2/readme.txt/changes.txt
rename to packages/SteamKit2.2.0.0-Alpha3/readme.txt
index 4cfa29ee5..8e99f6eab 100644
--- a/packages/SteamKit2.1.8.2/readme.txt/changes.txt
+++ b/packages/SteamKit2.2.0.0-Alpha3/readme.txt
@@ -1,3 +1,23 @@
+------------------------------------------------------------------------------
+v 2.0.0 Mar 28, 2017 (Alpha)
+------------------------------------------------------------------------------
+* SteamKit2 now requires .NET Framework 4.6 or a .NET Standard 1.3-compatible runtime.
+ * SteamKit2 is now supported on .NET Core.
+ * `IsolatedStorageServerListProvider` is only available in .NET Framework 4.6 and higher.
+
+* Updated Protobuf message classes to expose a property indicating if any wire value was specified or not, and a method to clear the value.
+* Updated `CDNClient` and `WebAPI` to expose `Task`-based asynchronous methods.
+* Removed all methods and properties that were marked as `[Obsolete]`.
+
+
+------------------------------------------------------------------------------
+v 1.8.3 Mar 28, 2017
+------------------------------------------------------------------------------
+* Obsoleted `TradeProposedCallback.OtherName`.
+
+This is the final release to support .NET Framework 4.5.
+
+
------------------------------------------------------------------------------
v 1.8.2 Mar 23, 2017
------------------------------------------------------------------------------
diff --git a/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.dll
deleted file mode 100644
index 1b9cb8c4e..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.xml
deleted file mode 100644
index dcbe26f6d..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net20-cf/protobuf-net.xml
+++ /dev/null
@@ -1,2529 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net20/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net20/protobuf-net.dll
deleted file mode 100644
index 3d24cd038..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net20/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net20/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net20/protobuf-net.xml
deleted file mode 100644
index aa761e6ff..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net20/protobuf-net.xml
+++ /dev/null
@@ -1,2758 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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
-
-
-
- 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
- An instance of the newly created compiled type-model
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
-
-
-
-
- Represents configuration options for compiling a model to
- a standalone assembly.
-
-
-
-
- Import framework options from an existing type
-
-
-
-
- The TargetFrameworkAttribute FrameworkName value to burn into the generated assembly
-
-
-
-
- The TargetFrameworkAttribute FrameworkDisplayName value to burn into the generated assembly
-
-
-
-
- The name of the TypeModel class to create
-
-
-
-
- The path for the new dll
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The acecssibility of the generated serializer
-
-
-
-
- Type accessibility
-
-
-
-
- Available to all callers
-
-
-
-
- Available to all callers in the same assembly, or assemblies specified via [InternalsVisibleTo(...)]
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net30/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net30/protobuf-net.dll
deleted file mode 100644
index de4701c6a..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net30/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net30/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net30/protobuf-net.xml
deleted file mode 100644
index ccf3c6ff2..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net30/protobuf-net.xml
+++ /dev/null
@@ -1,2879 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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
-
-
-
- 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
- An instance of the newly created compiled type-model
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
-
-
-
-
- Represents configuration options for compiling a model to
- a standalone assembly.
-
-
-
-
- Import framework options from an existing type
-
-
-
-
- The TargetFrameworkAttribute FrameworkName value to burn into the generated assembly
-
-
-
-
- The TargetFrameworkAttribute FrameworkDisplayName value to burn into the generated assembly
-
-
-
-
- The name of the TypeModel class to create
-
-
-
-
- The path for the new dll
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The acecssibility of the generated serializer
-
-
-
-
- Type accessibility
-
-
-
-
- Available to all callers
-
-
-
-
- Available to all callers in the same assembly, or assemblies specified via [InternalsVisibleTo(...)]
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net35-cf/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net35-cf/protobuf-net.dll
deleted file mode 100644
index dd6c1163c..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net35-cf/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net35-cf/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net35-cf/protobuf-net.xml
deleted file mode 100644
index dcbe26f6d..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net35-cf/protobuf-net.xml
+++ /dev/null
@@ -1,2529 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net35/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net35/protobuf-net.dll
deleted file mode 100644
index de4701c6a..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net35/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net35/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net35/protobuf-net.xml
deleted file mode 100644
index ccf3c6ff2..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net35/protobuf-net.xml
+++ /dev/null
@@ -1,2879 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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
-
-
-
- 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
- An instance of the newly created compiled type-model
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
-
-
-
-
- Represents configuration options for compiling a model to
- a standalone assembly.
-
-
-
-
- Import framework options from an existing type
-
-
-
-
- The TargetFrameworkAttribute FrameworkName value to burn into the generated assembly
-
-
-
-
- The TargetFrameworkAttribute FrameworkDisplayName value to burn into the generated assembly
-
-
-
-
- The name of the TypeModel class to create
-
-
-
-
- The path for the new dll
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The acecssibility of the generated serializer
-
-
-
-
- Type accessibility
-
-
-
-
- Available to all callers
-
-
-
-
- Available to all callers in the same assembly, or assemblies specified via [InternalsVisibleTo(...)]
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net40-cf/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net40-cf/protobuf-net.dll
deleted file mode 100644
index dd6c1163c..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net40-cf/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net40-cf/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net40-cf/protobuf-net.xml
deleted file mode 100644
index dcbe26f6d..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net40-cf/protobuf-net.xml
+++ /dev/null
@@ -1,2529 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/net40/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/net40/protobuf-net.dll
deleted file mode 100644
index de4701c6a..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/net40/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/net40/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/net40/protobuf-net.xml
deleted file mode 100644
index ccf3c6ff2..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/net40/protobuf-net.xml
+++ /dev/null
@@ -1,2879 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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
-
-
-
- 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
- An instance of the newly created compiled type-model
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
-
-
-
-
- Represents configuration options for compiling a model to
- a standalone assembly.
-
-
-
-
- Import framework options from an existing type
-
-
-
-
- The TargetFrameworkAttribute FrameworkName value to burn into the generated assembly
-
-
-
-
- The TargetFrameworkAttribute FrameworkDisplayName value to burn into the generated assembly
-
-
-
-
- The name of the TypeModel class to create
-
-
-
-
- The path for the new dll
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The runtime version for the generated assembly
-
-
-
-
- The acecssibility of the generated serializer
-
-
-
-
- Type accessibility
-
-
-
-
- Available to all callers
-
-
-
-
- Available to all callers in the same assembly, or assemblies specified via [InternalsVisibleTo(...)]
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/netcore45/protobuf-net.XML b/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.XML
deleted file mode 100644
index e2507cb3a..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.XML
+++ /dev/null
@@ -1,2539 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.
-
-
-
-
- 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.668/lib/netcore45/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.dll
deleted file mode 100644
index 836679d1a..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.pri b/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.pri
deleted file mode 100644
index 03574cc24..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/netcore45/protobuf-net.pri and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.dll
deleted file mode 100644
index ec90e6073..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.xml
deleted file mode 100644
index dcbe26f6d..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/portable-sl4+net40+wp7+windows8/protobuf-net.xml
+++ /dev/null
@@ -1,2529 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.668/lib/sl3-wp/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/sl3-wp/protobuf-net.dll
deleted file mode 100644
index a34b9ca12..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/sl3-wp/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/sl3-wp/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/sl3-wp/protobuf-net.xml
deleted file mode 100644
index e2507cb3a..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/sl3-wp/protobuf-net.xml
+++ /dev/null
@@ -1,2539 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.
-
-
-
-
- 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.668/lib/sl4-windowsphone71/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/sl4-windowsphone71/protobuf-net.dll
deleted file mode 100644
index a34b9ca12..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/sl4-windowsphone71/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/sl4-windowsphone71/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/sl4-windowsphone71/protobuf-net.xml
deleted file mode 100644
index e2507cb3a..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/sl4-windowsphone71/protobuf-net.xml
+++ /dev/null
@@ -1,2539 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.
-
-
-
-
- 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.668/lib/sl4/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/sl4/protobuf-net.dll
deleted file mode 100644
index dd405e40d..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/sl4/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/sl4/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/sl4/protobuf-net.xml
deleted file mode 100644
index 788e3794d..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/sl4/protobuf-net.xml
+++ /dev/null
@@ -1,2585 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.
-
-
-
- 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)
-
-
-
-
diff --git a/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.dll b/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.dll
deleted file mode 100644
index 909ab4ce2..000000000
Binary files a/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.dll and /dev/null differ
diff --git a/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.xml b/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.xml
deleted file mode 100644
index f97baa83e..000000000
--- a/packages/protobuf-net.2.0.0.668/lib/windowsphone8/protobuf-net.xml
+++ /dev/null
@@ -1,2641 +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.
-
-
-
-
- Should the object index be reserved, rather than creating an object promptly
-
-
-
-
- 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 Extensible.
-
-
-
- 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.
-
-
-
- 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.
-
-
-
- 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 model to use for configuration.
- 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 model to use for configuration.
- 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.
-
-
-
- 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 model to use for configuration.
- 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.
-
-
-
- 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.
-
-
-
-
- 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.
-
-
-
-
- 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
-
-
-
-
- Adds a known sub-type to the inheritance model
-
-
-
-
- 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.
-
-
-
-
- Returns the ValueMember instances associated with this type
-
-
-
-
- Returns the SubType instances associated with this type
-
-
-
-
- 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
-
-
-
-
- Gets or sets the name of this contract.
-
-
-
-
- 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
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- Resolve a System.Type to the compiler-specific type
-
-
-
-
- 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.
-
-
-
- Writes a protocol-buffer representation of the given instance to the supplied writer.
-
- The existing instance to be serialized (cannot be null).
- The destination writer to write to.
-
-
-
- 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.
-
-
-
- Applies a protocol-buffer reader to an existing instance (which may be null).
-
- The type (including inheritance) to consider.
- The existing instance to be modified (can be null).
- The reader 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.
-
-
-
- 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.
-
-
-
-
- Returns true if the type supplied is either a recognised contract type,
- or a *list* of a recognised contract type.
-
- Note that primitives always return false, even though the engine
- will, if forced, try to serialize such
- True if this type is recognised as a serializable entity, else false
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- a recognised contract type, or a *list* of a basic / contract type.
-
-
-
-
- Returns true if the type supplied is a basic type with inbuilt handling,
- or a *list* of a basic type with inbuilt handling
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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.
-
-
-
-
- Suggest a .proto definition for the given type
-
- The type to generate a .proto definition for, or null to generate a .proto that represents the entire model
- The .proto definition as a string
-
-
-
- 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
-
-
-
- Designate a factory-method to use to create instances of any type; note that this only affect types seen by the serializer *after* setting the factory.
-
-
-
-
- Global default 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 default that determines whether types are considered serializable
- if they have [DataContract] / [XmlType]. With this enabled, ONLY
- types marked as [ProtoContract] are added automatically.
-
-
-
-
- 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.
-
-
-
-
- Global switch that determines whether types with a .ToString() and a Parse(string)
- should be serialized as strings.
-
-
-
-
- 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.
- Specific encoding style to use; in particular, Grouped can be used to avoid buffering, but is not the default.
-
-
-
- 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 Serializer.GlobalOptions.InferTagFromName.
-
-
-
- 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.
-
-
-
-
- Should this type be treated as a reference by default? Please also see the implications of this,
- as recorded on ProtoMemberAttribute.AsReference
-
-
-
-
- Applies only to enums (not to DTO classes themselves); 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.
-
-
-
-
- Has a EnumPassthru value been explicitly set?
-
-
-
-
- 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.
-
-
-
-
- Determines whether the types AsReferenceDefault value is used, or whether this member's AsReference should be used
-
-
-
-
- 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 a little-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a big-endian encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a varint encoded integer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source into a pre-existing buffer. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a given number of bytes directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- Reads a string (of a given lenth, in bytes) directly from the source. An exception is thrown if the data is not all available.
-
-
-
-
- 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
-
-
-
-
- Reads a Type from the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Merge two objects using the details from the current reader; this is used to change the type
- of objects when an inheritance relationship is discovered later than usual during deserilazation.
-
-
-
-
- Gets the number of the field being processed.
-
-
-
-
- Indicates the underlying proto serialization format on the wire.
-
-
-
-
- Gets / sets a flag indicating whether strings should be checked for repetition; if
- true, any repeated UTF-8 byte sequence will result in the same String instance, rather
- than a second instance of the same string. Enabled by default. Note that this uses
- a custom interner - the system-wide string interner is not used.
-
-
-
-
- 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)
-
-
-
-
- Get the TypeModel associated with this reader
-
-
-
-
- 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
-
-
-
-
- Writes a Type to the stream, using the model's DynamicTypeFormatting if appropriate; supported wire-types: String
-
-
-
-
- Addition information about this serialization operation.
-
-
-
-
- Get the TypeModel associated with this writer
-
-
-
-
- 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.
-
-
-
-
- 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.
-
-
- 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.
-
-
-
-
- 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.668/protobuf-net.2.0.0.668.nupkg b/packages/protobuf-net.2.0.0.668/protobuf-net.2.0.0.668.nupkg
deleted file mode 100644
index 7a6be56da..000000000
Binary files a/packages/protobuf-net.2.0.0.668/protobuf-net.2.0.0.668.nupkg and /dev/null differ
diff --git a/packages/protobuf-net.2.1.0/lib/net40/protobuf-net.dll b/packages/protobuf-net.2.1.0/lib/net40/protobuf-net.dll
new file mode 100644
index 000000000..94084e534
Binary files /dev/null and b/packages/protobuf-net.2.1.0/lib/net40/protobuf-net.dll differ
diff --git a/packages/protobuf-net.2.1.0/lib/net45/protobuf-net.dll b/packages/protobuf-net.2.1.0/lib/net45/protobuf-net.dll
new file mode 100644
index 000000000..a68a9372f
Binary files /dev/null and b/packages/protobuf-net.2.1.0/lib/net45/protobuf-net.dll differ
diff --git a/packages/protobuf-net.2.1.0/lib/net451/protobuf-net.dll b/packages/protobuf-net.2.1.0/lib/net451/protobuf-net.dll
new file mode 100644
index 000000000..e455ac73c
Binary files /dev/null and b/packages/protobuf-net.2.1.0/lib/net451/protobuf-net.dll differ
diff --git a/packages/protobuf-net.2.1.0/lib/netstandard1.3/protobuf-net.dll b/packages/protobuf-net.2.1.0/lib/netstandard1.3/protobuf-net.dll
new file mode 100644
index 000000000..4d462edb6
Binary files /dev/null and b/packages/protobuf-net.2.1.0/lib/netstandard1.3/protobuf-net.dll differ
diff --git a/packages/protobuf-net.2.1.0/lib/netstandard1.5/protobuf-net.dll b/packages/protobuf-net.2.1.0/lib/netstandard1.5/protobuf-net.dll
new file mode 100644
index 000000000..712e40830
Binary files /dev/null and b/packages/protobuf-net.2.1.0/lib/netstandard1.5/protobuf-net.dll differ
diff --git a/packages/protobuf-net.2.1.0/protobuf-net.2.1.0.nupkg b/packages/protobuf-net.2.1.0/protobuf-net.2.1.0.nupkg
new file mode 100644
index 000000000..3e6367d4b
Binary files /dev/null and b/packages/protobuf-net.2.1.0/protobuf-net.2.1.0.nupkg differ