Beispiel #1
0
        public void Writer(ProtoWriter writer, object instance)
        {
            bool value = (bool)instance;

            if (value)
            {
                writer.Write((uint)1);
            }
            else
            {
                writer.Write((uint)0);
            }
        }
Beispiel #2
0
        public void Writer(ProtoWriter writer, object instance)
        {
            DateTime dt = (DateTime)instance;
            byte kind = (byte)dt.Kind;
            long ticks;

            if (dt.Kind == DateTimeKind.Local)
            {
                ticks = dt.ToUniversalTime().Ticks;
            }
            else
            {
                ticks = dt.Ticks;
            }

            int offset = 0;
            byte[] buffer = new byte[9];

            buffer[offset++] = (byte)((ticks) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 8) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 16) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 24) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 32) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 40) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 48) & 0xFF);
            buffer[offset++] = (byte)((ticks >> 56) & 0xFF);
            buffer[offset++] = kind;

            writer.Write(buffer);
        }
Beispiel #3
0
 public void Write(ProtoWriter output, int fieldId, Soyo.Proto.ProtoTestClass value)
 {
     output.WriteClassBegin(fieldId);
     output.Write(1, value.id);
     output.WriteArray(2, value.items);
     output.WriteClassEnd();
 }
Beispiel #4
0
 public void Writer(ProtoWriter writer, object instance)
 {
     unsafe
     {
         double n = (double)instance;
         writer.Write(*((ulong*)&n));
     }
 }
Beispiel #5
0
 public void Writer(ProtoWriter writer, object instance)
 {
     unsafe
     {
         float n = (float)instance;
         writer.Write(*((uint*)&n));
     }
 }
Beispiel #6
0
        public void Writer(ProtoWriter writer, object instance)
        {
            int[] bits = Decimal.GetBits((decimal)instance);
            byte[] buffer = new byte[Buffer.ByteLength(bits)];
            Buffer.BlockCopy(bits, 0, buffer, 0, buffer.Length);

            writer.Write(buffer);
        }
Beispiel #7
0
 public void WriteDiff(ProtoWriter output, int fieldId, Soyo.Proto.ProtoTestClass value, Soyo.Proto.ProtoTestClass basevalue)
 {
     output.WriteClassBegin(fieldId);
     if (value.id != basevalue.id)
     {
         output.Write(1, value.id);
     }
     if (value.id != basevalue.id)
     {
         output.Write(1, value.id);
     }
     if (value.items != basevalue.items)
     {
         output.WriteArray(2, value.items);
     }
     output.WriteClassEnd();
 }
Beispiel #8
0
 public void Writer(ProtoWriter writer, object instance)
 {
     if (instance == null)
     {
         writer.WriteNull();
     }
     else
     {
         writer.Write((String)instance);
     }
 }
Beispiel #9
0
 public void Writer(ProtoWriter writer, object instance)
 {
     switch (this.typeCode)
     {
         case TypeCode.Byte:
             writer.Write((uint)(byte)instance);
             break;
         case TypeCode.SByte:
             writer.Write((uint)(sbyte)instance);
             break;
         case TypeCode.Int16:
             writer.Write((uint)(short)instance);
             break;
         case TypeCode.Int32:
             writer.Write((uint)(int)instance);
             break;
         case TypeCode.UInt16:
             writer.Write((uint)(ushort)instance);
             break;
         case TypeCode.UInt32:
             writer.Write((uint)instance);
             break;
         case TypeCode.Int64:
             writer.Write((ulong)(long)instance);
             break;
         case TypeCode.UInt64:
             writer.Write((ulong)instance);
             break;
     }
 }
Beispiel #10
0
 public void Writer(ProtoWriter writer, object instance)
 {
     writer.Write(((Uri)instance).ToString());
 }
Beispiel #11
0
 public void Writer(ProtoWriter writer, object instance)
 {
     writer.Write((uint)(int)instance);
 }
Beispiel #12
0
 public void Writer(ProtoWriter writer, object instance)
 {
     writer.Write((ulong)instance);
 }
Beispiel #13
0
 public void Writer(ProtoWriter writer, object instance)
 {
     writer.Write((byte[])instance);
 }
Beispiel #14
0
 public void Writer(ProtoWriter writer, object instance)
 {
     var bytes = ((Guid)instance).ToByteArray();
     writer.Write(bytes);
 }
Beispiel #15
0
 public void WriteDiff(ProtoWriter output, int fieldId, Soyo.Proto.ProtoTestBase value, Soyo.Proto.ProtoTestBase basevalue)
 {
     output.WriteClassBegin(fieldId);
     if (value.byteValue != basevalue.byteValue)
     {
         output.Write(1, value.byteValue);
     }
     if (value.byteValue != basevalue.byteValue)
     {
         output.Write(1, value.byteValue);
     }
     if (value.sbyteValue != basevalue.sbyteValue)
     {
         output.Write(2, value.sbyteValue);
     }
     if (value.sbyteValue != basevalue.sbyteValue)
     {
         output.Write(2, value.sbyteValue);
     }
     if (value.shortValue != basevalue.shortValue)
     {
         output.Write(3, value.shortValue);
     }
     if (value.shortValue != basevalue.shortValue)
     {
         output.Write(3, value.shortValue);
     }
     if (value.ushortValue != basevalue.ushortValue)
     {
         output.Write(4, value.ushortValue);
     }
     if (value.ushortValue != basevalue.ushortValue)
     {
         output.Write(4, value.ushortValue);
     }
     if (value.intValue != basevalue.intValue)
     {
         output.Write(5, value.intValue);
     }
     if (value.intValue != basevalue.intValue)
     {
         output.WriteSign(5, value.intValue);
     }
     if (value.uintValue != basevalue.uintValue)
     {
         output.Write(6, value.uintValue);
     }
     if (value.uintValue != basevalue.uintValue)
     {
         output.WriteFixed(6, value.uintValue);
     }
     if (value.longValue != basevalue.longValue)
     {
         output.Write(7, value.longValue);
     }
     if (value.longValue != basevalue.longValue)
     {
         output.WriteSign(7, value.longValue);
     }
     if (value.ulongValue != basevalue.ulongValue)
     {
         output.Write(8, value.ulongValue);
     }
     if (value.ulongValue != basevalue.ulongValue)
     {
         output.WriteFixed(8, value.ulongValue);
     }
     if (value.floatValue != basevalue.floatValue)
     {
         output.Write(9, value.floatValue);
     }
     if (value.floatValue != basevalue.floatValue)
     {
         output.Write(9, value.floatValue);
     }
     if (value.doubleValue != basevalue.doubleValue)
     {
         output.Write(10, value.doubleValue);
     }
     if (value.doubleValue != basevalue.doubleValue)
     {
         output.Write(10, value.doubleValue);
     }
     if (value.enumValue != basevalue.enumValue)
     {
         output.Write(11, (int)value.enumValue);
     }
     if (value.stringValue != basevalue.stringValue && value.stringValue != null)
     {
         output.Write(12, value.stringValue);
     }
     if (value.bufferValue != basevalue.bufferValue)
     {
         output.Write(13, value.bufferValue);
     }
     if (value.bufferValue != basevalue.bufferValue)
     {
         output.Write(13, value.bufferValue);
     }
     if (value.byteArrayValue != basevalue.byteArrayValue && value.byteArrayValue != null)
     {
         output.Write(14, value.byteArrayValue);
     }
     if (value.byteNullValue != basevalue.byteNullValue && value.byteNullValue != null)
     {
         output.Write(15, value.byteNullValue);
     }
     if (value.sbyteNullValue != basevalue.sbyteNullValue && value.sbyteNullValue != null)
     {
         output.Write(16, value.sbyteNullValue);
     }
     if (value.shortNullValue != basevalue.shortNullValue && value.shortNullValue != null)
     {
         output.Write(17, value.shortNullValue);
     }
     if (value.ushortNullValue != basevalue.ushortNullValue && value.ushortNullValue != null)
     {
         output.Write(18, value.ushortNullValue);
     }
     if (value.intNullValue != basevalue.intNullValue && value.intNullValue != null)
     {
         output.Write(19, value.intNullValue);
     }
     if (value.uintNullValue != basevalue.uintNullValue && value.uintNullValue != null)
     {
         output.Write(20, value.uintNullValue);
     }
     if (value.longNullValue != basevalue.longNullValue && value.longNullValue != null)
     {
         output.Write(21, value.longNullValue);
     }
     if (value.ulongNullValue != basevalue.ulongNullValue && value.ulongNullValue != null)
     {
         output.Write(22, value.ulongNullValue);
     }
     if (value.floatNullValue != basevalue.floatNullValue && value.floatNullValue != null)
     {
         output.Write(23, value.floatNullValue);
     }
     if (value.doubleNullValue != basevalue.doubleNullValue && value.doubleNullValue != null)
     {
         output.Write(24, value.doubleNullValue);
     }
     if (value.bufferNullValue != basevalue.bufferNullValue && value.bufferNullValue != null)
     {
         output.Write(25, value.bufferNullValue);
     }
     if (value.boolListValue != basevalue.boolListValue)
     {
         output.WriteArray(26, value.boolListValue);
     }
     if (value.byteListValue != basevalue.byteListValue)
     {
         output.WriteArray(27, value.byteListValue);
     }
     if (value.sbyteListValue != basevalue.sbyteListValue)
     {
         output.WriteArray(28, value.sbyteListValue);
     }
     if (value.shortListValue != basevalue.shortListValue)
     {
         output.WriteArray(29, value.shortListValue);
     }
     if (value.ushortListValue != basevalue.ushortListValue)
     {
         output.WriteArray(30, value.ushortListValue);
     }
     if (value.intListValue != basevalue.intListValue)
     {
         output.WriteArray(31, value.intListValue);
     }
     if (value.uintListValue != basevalue.uintListValue)
     {
         output.WriteArray(32, value.uintListValue);
     }
     if (value.longListValue != basevalue.longListValue)
     {
         output.WriteArray(33, value.longListValue);
     }
     if (value.ulongListValue != basevalue.ulongListValue)
     {
         output.WriteArray(34, value.ulongListValue);
     }
     if (value.floatListValue != basevalue.floatListValue)
     {
         output.WriteArray(35, value.floatListValue);
     }
     if (value.doubleListValue != basevalue.doubleListValue)
     {
         output.WriteArray(36, value.doubleListValue);
     }
     if (value.stringListValue != basevalue.stringListValue)
     {
         output.WriteArray(37, value.stringListValue);
     }
     if (value.bufferListValue != basevalue.bufferListValue)
     {
         output.WriteArray(38, value.bufferListValue);
     }
     if (value.byteArrayListValue != basevalue.byteArrayListValue)
     {
         output.WriteArray(39, value.byteArrayListValue);
     }
     if (value.boolValue != basevalue.boolValue)
     {
         output.Write(40, value.boolValue);
     }
     if (value.boolValue != basevalue.boolValue)
     {
         output.Write(40, value.boolValue);
     }
     if (value.boolNullValue != basevalue.boolNullValue && value.boolNullValue != null)
     {
         output.Write(41, value.boolNullValue);
     }
     if (value.uintUintDictionary != basevalue.uintUintDictionary)
     {
         output.WriteDictionary(42, value.uintUintDictionary);
     }
     output.WriteClassEnd();
 }
Beispiel #16
0
 public void Writer(ProtoWriter writer, object instance)
 {
     TimeSpan ts = (TimeSpan)instance;
     writer.Write((ulong)ts.Ticks);
 }