示例#1
0
 /// <summary>
 /// Writes a byte-array to the stream; supported wire-types: String
 /// </summary>
 public static void WriteBytes(byte[] data, ProtoWriter writer)
 {
     if (data == null)
     {
         throw new ArgumentNullException("data");
     }
     ProtoWriter.WriteBytes(data, 0, data.Length, writer);
 }
示例#2
0
        /// <summary>
        /// Writes a Guid to a protobuf stream
        /// </summary>
        public static void WriteGuid(Guid value, ProtoWriter dest)
        {
            byte[] blob = value.ToByteArray();

            SubItemToken token = ProtoWriter.StartSubItem(null, dest);

            if (value != Guid.Empty)
            {
                ProtoWriter.WriteFieldHeader(FieldGuidLow, WireType.Fixed64, dest);
                ProtoWriter.WriteBytes(blob, 0, 8, dest);
                ProtoWriter.WriteFieldHeader(FieldGuidHigh, WireType.Fixed64, dest);
                ProtoWriter.WriteBytes(blob, 8, 8, dest);
            }
            ProtoWriter.EndSubItem(token, dest);
        }