示例#1
0
 private static void WriteSecondsNanos(ref ProtoWriter.State state, long seconds, int nanos, bool isTimestamp)
 {
     NormalizeSecondsNanoseconds(ref seconds, ref nanos, isTimestamp);
     if (seconds != 0)
     {
         state.WriteFieldHeader(1, WireType.Varint);
         state.WriteInt64(seconds);
     }
     if (nanos != 0)
     {
         state.WriteFieldHeader(2, WireType.Varint);
         state.WriteInt32(nanos);
     }
 }
示例#2
0
 void ISerializer <ScaledTicks> .Write(ref ProtoWriter.State state, ScaledTicks value)
 {
     if (value.Value != 0)
     {
         state.WriteFieldHeader(ScaledTicks.FieldTimeSpanValue, WireType.SignedVarint);
         state.WriteInt64(value.Value);
     }
     if (value.Scale != TimeSpanScale.Days)
     {
         state.WriteFieldHeader(ScaledTicks.FieldTimeSpanScale, WireType.Varint);
         state.WriteInt32((int)value.Scale);
     }
     if (value.Kind != DateTimeKind.Unspecified)
     {
         state.WriteFieldHeader(ScaledTicks.FieldTimeSpanKind, WireType.Varint);
         state.WriteInt32((int)value.Kind);
     }
 }
示例#3
0
 public void Write(ref ProtoWriter.State state, CustomType value)
 => state.WriteInt64(value);
示例#4
0
 public void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteInt64((long)value);
 }