Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
d95293e3
Commit
d95293e3
authored
Jul 14, 2011
by
csharptest
Committed by
rogerk
Jul 14, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Integrated feedback from revision 1525875aec27
parent
541686c8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
176 additions
and
17 deletions
+176
-17
CodedOutputStream.ComputeSize.cs
src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
+3
-13
ICodedInputStream.cs
src/ProtocolBuffers/ICodedInputStream.cs
+45
-0
ICodedOutputStream.cs
src/ProtocolBuffers/ICodedOutputStream.cs
+128
-4
No files found.
src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
View file @
d95293e3
...
...
@@ -41,19 +41,9 @@ using Google.ProtocolBuffers.Descriptors;
namespace
Google.ProtocolBuffers
{
/// <summary>
/// Encodes and writes protocol message fields.
/// </summary>
/// <remarks>
/// This class contains two kinds of methods: methods that write specific
/// protocol message constructs and field types (e.g. WriteTag and
/// WriteInt32) and methods that write low-level values (e.g.
/// WriteRawVarint32 and WriteRawBytes). If you are writing encoded protocol
/// messages, you should use the former methods, but if you are writing some
/// other format of your own design, use the latter. The names of the former
/// methods are taken from the protocol buffer type names, not .NET types.
/// (Hence WriteFloat instead of WriteSingle, and WriteBool instead of WriteBoolean.)
/// </remarks>
// This part of CodedOutputStream provides all the static entry points that are used
// by generated code and internally to compute the size of messages prior to being
// written to an instance of CodedOutputStream.
public
sealed
partial
class
CodedOutputStream
{
private
const
int
LittleEndian64Size
=
8
;
...
...
src/ProtocolBuffers/ICodedInputStream.cs
View file @
d95293e3
...
...
@@ -234,48 +234,93 @@ namespace Google.ProtocolBuffers
[
CLSCompliant
(
false
)]
bool
SkipField
();
/// <summary>
/// Reads one or more repeated string field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadStringArray
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
string
>
list
);
/// <summary>
/// Reads one or more repeated ByteString field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadBytesArray
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
ByteString
>
list
);
/// <summary>
/// Reads one or more repeated boolean field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadBoolArray
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
bool
>
list
);
/// <summary>
/// Reads one or more repeated Int32 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadInt32Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
int
>
list
);
/// <summary>
/// Reads one or more repeated SInt32 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadSInt32Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
int
>
list
);
/// <summary>
/// Reads one or more repeated UInt32 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadUInt32Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
uint
>
list
);
/// <summary>
/// Reads one or more repeated Fixed32 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadFixed32Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
uint
>
list
);
/// <summary>
/// Reads one or more repeated SFixed32 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadSFixed32Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
int
>
list
);
/// <summary>
/// Reads one or more repeated Int64 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadInt64Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
long
>
list
);
/// <summary>
/// Reads one or more repeated SInt64 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadSInt64Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
long
>
list
);
/// <summary>
/// Reads one or more repeated UInt64 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadUInt64Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
ulong
>
list
);
/// <summary>
/// Reads one or more repeated Fixed64 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadFixed64Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
ulong
>
list
);
/// <summary>
/// Reads one or more repeated SFixed64 field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadSFixed64Array
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
long
>
list
);
/// <summary>
/// Reads one or more repeated Double field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadDoubleArray
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
double
>
list
);
/// <summary>
/// Reads one or more repeated Float field values from the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
ReadFloatArray
(
uint
fieldTag
,
string
fieldName
,
ICollection
<
float
>
list
);
}
...
...
src/ProtocolBuffers/ICodedOutputStream.cs
View file @
d95293e3
...
...
@@ -44,21 +44,43 @@ using Google.ProtocolBuffers.Descriptors;
namespace
Google.ProtocolBuffers
{
/// <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>
/// Indicates that all temporary buffers be written to the final output.
/// </summary>
void
Flush
();
/// <summary>
/// Writes an unknown message as a group
/// </summary>
[
Obsolete
]
void
WriteUnknownGroup
(
int
fieldNumber
,
IMessageLite
value
);
/// <summary>
/// Writes an unknown field value of bytes
/// </summary>
void
WriteUnknownBytes
(
int
fieldNumber
,
ByteString
value
);
/// <summary>
/// Writes an unknown field of a primitive type
/// </summary>
[
CLSCompliant
(
false
)]
void
WriteUnknownField
(
int
fieldNumber
,
WireFormat
.
WireType
wireType
,
ulong
value
);
/// <summary>
/// Writes an extension as a message-set group
/// </summary>
void
WriteMessageSetExtension
(
int
fieldNumber
,
string
fieldName
,
IMessageLite
value
);
/// <summary>
/// Writes an unknown extension as a message-set group
/// </summary>
void
WriteMessageSetExtension
(
int
fieldNumber
,
string
fieldName
,
ByteString
value
);
/// <summary>
/// Writes a field value, including tag, to the stream.
/// </summary>
void
WriteField
(
FieldType
fieldType
,
int
fieldNumber
,
string
fieldName
,
object
value
);
/// <summary>
...
...
@@ -155,76 +177,178 @@ namespace Google.ProtocolBuffers
/// </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
,
IEnumerable
<
T
>
list
)
where
T
:
IMessageLite
;
/// <summary>
/// Writes a repeated message value, including tag(s), to the stream.
/// </summary>
void
WriteMessageArray
<
T
>(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
T
>
list
)
where
T
:
IMessageLite
;
/// <summary>
/// Writes a repeated string value, including tag(s), to the stream.
/// </summary>
void
WriteStringArray
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
string
>
list
);
/// <summary>
/// Writes a repeated ByteString value, including tag(s), to the stream.
/// </summary>
void
WriteBytesArray
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
ByteString
>
list
);
/// <summary>
/// Writes a repeated boolean value, including tag(s), to the stream.
/// </summary>
void
WriteBoolArray
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
bool
>
list
);
/// <summary>
/// Writes a repeated Int32 value, including tag(s), to the stream.
/// </summary>
void
WriteInt32Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a repeated SInt32 value, including tag(s), to the stream.
/// </summary>
void
WriteSInt32Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a repeated UInt32 value, including tag(s), to the stream.
/// </summary>
void
WriteUInt32Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
uint
>
list
);
/// <summary>
/// Writes a repeated Fixed32 value, including tag(s), to the stream.
/// </summary>
void
WriteFixed32Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
uint
>
list
);
/// <summary>
/// Writes a repeated SFixed32 value, including tag(s), to the stream.
/// </summary>
void
WriteSFixed32Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a repeated Int64 value, including tag(s), to the stream.
/// </summary>
void
WriteInt64Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a repeated SInt64 value, including tag(s), to the stream.
/// </summary>
void
WriteSInt64Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a repeated UInt64 value, including tag(s), to the stream.
/// </summary>
void
WriteUInt64Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
ulong
>
list
);
/// <summary>
/// Writes a repeated Fixed64 value, including tag(s), to the stream.
/// </summary>
void
WriteFixed64Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
ulong
>
list
);
/// <summary>
/// Writes a repeated SFixed64 value, including tag(s), to the stream.
/// </summary>
void
WriteSFixed64Array
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a repeated Double value, including tag(s), to the stream.
/// </summary>
void
WriteDoubleArray
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
double
>
list
);
/// <summary>
/// Writes a repeated Float value, including tag(s), to the stream.
/// </summary>
void
WriteFloatArray
(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
float
>
list
);
/// <summary>
/// Writes a repeated enumeration value of type T, including tag(s), to the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
WriteEnumArray
<
T
>(
int
fieldNumber
,
string
fieldName
,
IEnumerable
<
T
>
list
)
where
T
:
struct
,
IComparable
,
IFormattable
,
IConvertible
;
/// <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
,
int
calculatedSize
,
IEnumerable
<
bool
>
list
);
/// <summary>
/// Writes a packed repeated Int32, including tag and length, to the stream.
/// </summary>
void
WritePackedInt32Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a packed repeated SInt32, including tag and length, to the stream.
/// </summary>
void
WritePackedSInt32Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a packed repeated UInt32, including tag and length, to the stream.
/// </summary>
void
WritePackedUInt32Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
uint
>
list
);
/// <summary>
/// Writes a packed repeated Fixed32, including tag and length, to the stream.
/// </summary>
void
WritePackedFixed32Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
uint
>
list
);
/// <summary>
/// Writes a packed repeated SFixed32, including tag and length, to the stream.
/// </summary>
void
WritePackedSFixed32Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
int
>
list
);
/// <summary>
/// Writes a packed repeated Int64, including tag and length, to the stream.
/// </summary>
void
WritePackedInt64Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a packed repeated SInt64, including tag and length, to the stream.
/// </summary>
void
WritePackedSInt64Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a packed repeated UInt64, including tag and length, to the stream.
/// </summary>
void
WritePackedUInt64Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
ulong
>
list
);
/// <summary>
/// Writes a packed repeated Fixed64, including tag and length, to the stream.
/// </summary>
void
WritePackedFixed64Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
ulong
>
list
);
/// <summary>
/// Writes a packed repeated SFixed64, including tag and length, to the stream.
/// </summary>
void
WritePackedSFixed64Array
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
long
>
list
);
/// <summary>
/// Writes a packed repeated Double, including tag and length, to the stream.
/// </summary>
void
WritePackedDoubleArray
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
double
>
list
);
/// <summary>
/// Writes a packed repeated Float, including tag and length, to the stream.
/// </summary>
void
WritePackedFloatArray
(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
float
>
list
);
/// <summary>
/// Writes a packed repeated enumeration of type T, including tag and length, to the stream.
/// </summary>
[
CLSCompliant
(
false
)]
void
WritePackedEnumArray
<
T
>(
int
fieldNumber
,
string
fieldName
,
int
calculatedSize
,
IEnumerable
<
T
>
list
)
where
T
:
struct
,
IComparable
,
IFormattable
,
IConvertible
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment