Remove ICodedInputStream and ICodedOutputStream, and rewrite CodedInputStream and CodedOutputStream to be specific to the binary format. If we want to support text-based formats, that can be a whole different serialization mechanism.pull/515/head
parent
39aaf21d51
commit
96ddf01aed
23 changed files with 879 additions and 2596 deletions
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,293 +0,0 @@ |
|||||||
#region Copyright notice and license |
|
||||||
|
|
||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2008 Google Inc. All rights reserved. |
|
||||||
// http://github.com/jskeet/dotnet-protobufs/ |
|
||||||
// Original C++/Java/Python code: |
|
||||||
// http://code.google.com/p/protobuf/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Collections.Generic; |
|
||||||
using Google.Protobuf.Descriptors; |
|
||||||
|
|
||||||
//Disable warning CS3010: CLS-compliant interfaces must have only CLS-compliant members |
|
||||||
#pragma warning disable 3010 |
|
||||||
|
|
||||||
namespace Google.Protobuf |
|
||||||
{ |
|
||||||
public interface ICodedInputStream |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Reads any message initialization data expected from the input stream |
|
||||||
/// </summary> |
|
||||||
/// <remarks> |
|
||||||
/// This is primarily used by text formats and unnecessary for protobuffers' own |
|
||||||
/// binary format. The API for MessageStart/End was added for consistent handling |
|
||||||
/// of output streams regardless of the actual writer implementation. |
|
||||||
/// </remarks> |
|
||||||
void ReadMessageStart(); |
|
||||||
/// <summary> |
|
||||||
/// Reads any message finalization data expected from the input stream |
|
||||||
/// </summary> |
|
||||||
/// <remarks> |
|
||||||
/// This is primarily used by text formats and unnecessary for protobuffers' own |
|
||||||
/// binary format. The API for MessageStart/End was added for consistent handling |
|
||||||
/// of output streams regardless of the actual writer implementation. |
|
||||||
/// </remarks> |
|
||||||
void ReadMessageEnd(); |
|
||||||
/// <summary> |
|
||||||
/// Attempt to read a field tag, returning false if we have reached the end |
|
||||||
/// of the input data. |
|
||||||
/// </summary> |
|
||||||
/// <remarks> |
|
||||||
/// <para> |
|
||||||
/// If fieldTag is non-zero and ReadTag returns true then the value in fieldName |
|
||||||
/// may or may not be populated. However, if fieldTag is zero and ReadTag returns |
|
||||||
/// true, then fieldName should be populated with a non-null field name. |
|
||||||
/// </para><para> |
|
||||||
/// In other words if ReadTag returns true then either fieldTag will be non-zero OR |
|
||||||
/// fieldName will be non-zero. In some cases both may be populated, however the |
|
||||||
/// builders will always prefer the fieldTag over fieldName. |
|
||||||
/// </para> |
|
||||||
/// </remarks> |
|
||||||
bool ReadTag(out uint fieldTag, out string fieldName); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a double field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadDouble(ref double value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a float field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadFloat(ref float value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a uint64 field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadUInt64(ref ulong value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read an int64 field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadInt64(ref long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read an int32 field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadInt32(ref int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a fixed64 field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadFixed64(ref ulong value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a fixed32 field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadFixed32(ref uint value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Read a bool field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadBool(ref bool value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a string field from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadString(ref string value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a group field value from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadGroup(int fieldNumber, IMessage message); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an embedded message field value from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadMessage(IMessage message); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a bytes field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadBytes(ref ByteString value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a uint32 field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadUInt32(ref uint value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an enum field value from the stream. This performs no checking |
|
||||||
/// as to whether the enum value is known to the enum type as it was present |
|
||||||
/// when the code was generated. |
|
||||||
/// </summary> |
|
||||||
bool ReadEnum(ref int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an sfixed32 field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadSFixed32(ref int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an sfixed64 field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadSFixed64(ref long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an sint32 field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadSInt32(ref int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an sint64 field value from the stream. |
|
||||||
/// </summary> |
|
||||||
bool ReadSInt64(ref long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed and the |
|
||||||
/// type is numeric, it will read a packed array. |
|
||||||
/// </summary> |
|
||||||
void ReadPrimitiveArray(FieldType fieldType, uint fieldTag, string fieldName, ICollection<object> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed, it will |
|
||||||
/// read a packed array. |
|
||||||
/// </summary> |
|
||||||
void ReadEnumArray<T>(uint fieldTag, string fieldName, ICollection<T> list) |
|
||||||
where T : struct, IComparable, IFormattable; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a set of messages using the <paramref name="parser"/> to read individual messages. |
|
||||||
/// </summary> |
|
||||||
void ReadMessageArray<T>(uint fieldTag, string fieldName, ICollection<T> list, MessageParser<T> parser) where T : IMessage<T>; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a set of messages using the <paramref name="parser"/> as a template. |
|
||||||
/// </summary> |
|
||||||
void ReadGroupArray<T>(uint fieldTag, string fieldName, ICollection<T> list, MessageParser<T> parser) where T : IMessage<T>; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads a field of any primitive type. Enums, groups and embedded |
|
||||||
/// messages are not handled by this method. |
|
||||||
/// </summary> |
|
||||||
bool ReadPrimitiveField(FieldType fieldType, ref object value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Returns true if the stream has reached the end of the input. This is the |
|
||||||
/// case if either the end of the underlying input source has been reached or |
|
||||||
/// the stream has reached a limit created using PushLimit. |
|
||||||
/// </summary> |
|
||||||
bool IsAtEnd { get; } |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads and discards a single field, given its tag value. |
|
||||||
/// </summary> |
|
||||||
/// <returns>false if the tag is an end-group tag, in which case |
|
||||||
/// nothing is skipped. Otherwise, returns true.</returns> |
|
||||||
bool SkipField(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated string field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadStringArray(uint fieldTag, string fieldName, ICollection<string> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated ByteString field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadBytesArray(uint fieldTag, string fieldName, ICollection<ByteString> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated boolean field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadBoolArray(uint fieldTag, string fieldName, ICollection<bool> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Int32 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadInt32Array(uint fieldTag, string fieldName, ICollection<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated SInt32 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadSInt32Array(uint fieldTag, string fieldName, ICollection<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated UInt32 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadUInt32Array(uint fieldTag, string fieldName, ICollection<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Fixed32 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadFixed32Array(uint fieldTag, string fieldName, ICollection<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated SFixed32 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadSFixed32Array(uint fieldTag, string fieldName, ICollection<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Int64 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadInt64Array(uint fieldTag, string fieldName, ICollection<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated SInt64 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadSInt64Array(uint fieldTag, string fieldName, ICollection<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated UInt64 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadUInt64Array(uint fieldTag, string fieldName, ICollection<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Fixed64 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadFixed64Array(uint fieldTag, string fieldName, ICollection<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated SFixed64 field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadSFixed64Array(uint fieldTag, string fieldName, ICollection<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Double field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadDoubleArray(uint fieldTag, string fieldName, ICollection<double> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Reads one or more repeated Float field values from the stream. |
|
||||||
/// </summary> |
|
||||||
void ReadFloatArray(uint fieldTag, string fieldName, ICollection<float> list); |
|
||||||
} |
|
||||||
} |
|
@ -1,347 +0,0 @@ |
|||||||
#region Copyright notice and license |
|
||||||
|
|
||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2008 Google Inc. All rights reserved. |
|
||||||
// http://github.com/jskeet/dotnet-protobufs/ |
|
||||||
// Original C++/Java/Python code: |
|
||||||
// http://code.google.com/p/protobuf/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#endregion |
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Collections; |
|
||||||
using Google.Protobuf.Collections; |
|
||||||
using Google.Protobuf.Descriptors; |
|
||||||
|
|
||||||
//Disable warning CS3010: CLS-compliant interfaces must have only CLS-compliant members |
|
||||||
#pragma warning disable 3010 |
|
||||||
|
|
||||||
namespace Google.Protobuf |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Provides an interface that is used write a message. Most often proto buffers are written |
|
||||||
/// in their binary form by creating a instance via the CodedOutputStream.CreateInstance |
|
||||||
/// static factory. |
|
||||||
/// </summary> |
|
||||||
public interface ICodedOutputStream |
|
||||||
{ |
|
||||||
/// <summary> |
|
||||||
/// Writes any message initialization data needed to the output stream |
|
||||||
/// </summary> |
|
||||||
/// <remarks> |
|
||||||
/// This is primarily used by text formats and unnecessary for protobuffers' own |
|
||||||
/// binary format. The API for MessageStart/End was added for consistent handling |
|
||||||
/// of output streams regardless of the actual writer implementation. |
|
||||||
/// </remarks> |
|
||||||
void WriteMessageStart(); |
|
||||||
/// <summary> |
|
||||||
/// Writes any message finalization data needed to the output stream |
|
||||||
/// </summary> |
|
||||||
/// <remarks> |
|
||||||
/// This is primarily used by text formats and unnecessary for protobuffers' own |
|
||||||
/// binary format. The API for MessageStart/End was added for consistent handling |
|
||||||
/// of output streams regardless of the actual writer implementation. |
|
||||||
/// </remarks> |
|
||||||
void WriteMessageEnd(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Indicates that all temporary buffers be written to the final output. |
|
||||||
/// </summary> |
|
||||||
void Flush(); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteField(FieldType fieldType, int fieldNumber, string fieldName, object value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a double field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteDouble(int fieldNumber, string fieldName, double value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a float field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFloat(int fieldNumber, string fieldName, float value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a uint64 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteUInt64(int fieldNumber, string fieldName, ulong value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes an int64 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteInt64(int fieldNumber, string fieldName, long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes an int32 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteInt32(int fieldNumber, string fieldName, int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a fixed64 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFixed64(int fieldNumber, string fieldName, ulong value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a fixed32 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFixed32(int fieldNumber, string fieldName, uint value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a bool field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteBool(int fieldNumber, string fieldName, bool value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a string field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteString(int fieldNumber, string fieldName, string value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a group field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteGroup(int fieldNumber, string fieldName, IMessage value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a message field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteMessage(int fieldNumber, string fieldName, IMessage value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a byte array field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteBytes(int fieldNumber, string fieldName, ByteString value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a UInt32 field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteUInt32(int fieldNumber, string fieldName, uint value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes an enum field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteEnum(int fieldNumber, string fieldName, int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a fixed 32-bit field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSFixed32(int fieldNumber, string fieldName, int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a signed fixed 64-bit field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSFixed64(int fieldNumber, string fieldName, long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a signed 32-bit field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSInt32(int fieldNumber, string fieldName, int value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a signed 64-bit field value, including tag, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSInt64(int fieldNumber, string fieldName, long value); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated field value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteArray(FieldType fieldType, int fieldNumber, string fieldName, IEnumerable list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated group value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteGroupArray<T>(int fieldNumber, string fieldName, RepeatedField<T> list) |
|
||||||
where T : IMessage; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated message value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteMessageArray<T>(int fieldNumber, string fieldName, RepeatedField<T> list) |
|
||||||
where T : IMessage; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated string value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteStringArray(int fieldNumber, string fieldName, RepeatedField<string> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated ByteString value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteBytesArray(int fieldNumber, string fieldName, RepeatedField<ByteString> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated boolean value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteBoolArray(int fieldNumber, string fieldName, RepeatedField<bool> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Int32 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteInt32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated SInt32 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSInt32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated UInt32 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteUInt32Array(int fieldNumber, string fieldName, RepeatedField<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Fixed32 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFixed32Array(int fieldNumber, string fieldName, RepeatedField<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated SFixed32 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSFixed32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Int64 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteInt64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated SInt64 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSInt64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated UInt64 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteUInt64Array(int fieldNumber, string fieldName, RepeatedField<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Fixed64 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFixed64Array(int fieldNumber, string fieldName, RepeatedField<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated SFixed64 value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteSFixed64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Double value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteDoubleArray(int fieldNumber, string fieldName, RepeatedField<double> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated Float value, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteFloatArray(int fieldNumber, string fieldName, RepeatedField<float> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a repeated enumeration value of type T, including tag(s), to the stream. |
|
||||||
/// </summary> |
|
||||||
void WriteEnumArray<T>(int fieldNumber, string fieldName, RepeatedField<T> list) |
|
||||||
where T : struct, IComparable, IFormattable; |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated primitive, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedArray(FieldType fieldType, int fieldNumber, string fieldName, IEnumerable list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated boolean, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedBoolArray(int fieldNumber, string fieldName, RepeatedField<bool> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Int32, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedInt32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated SInt32, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedSInt32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated UInt32, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedUInt32Array(int fieldNumber, string fieldName, RepeatedField<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Fixed32, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedFixed32Array(int fieldNumber, string fieldName, RepeatedField<uint> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated SFixed32, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedSFixed32Array(int fieldNumber, string fieldName, RepeatedField<int> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Int64, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedInt64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated SInt64, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedSInt64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated UInt64, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedUInt64Array(int fieldNumber, string fieldName, RepeatedField<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Fixed64, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedFixed64Array(int fieldNumber, string fieldName, RepeatedField<ulong> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated SFixed64, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedSFixed64Array(int fieldNumber, string fieldName, RepeatedField<long> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Double, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedDoubleArray(int fieldNumber, string fieldName, RepeatedField<double> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated Float, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedFloatArray(int fieldNumber, string fieldName, RepeatedField<float> list); |
|
||||||
|
|
||||||
/// <summary> |
|
||||||
/// Writes a packed repeated enumeration of type T, including tag and length, to the stream. |
|
||||||
/// </summary> |
|
||||||
void WritePackedEnumArray<T>(int fieldNumber, string fieldName, RepeatedField<T> list) |
|
||||||
where T : struct, IComparable, IFormattable; |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue