public override DateTime DeserializeImpl(TSource source, SerializationContext context) { context.StartGroup(Tag); // will be ended internally DateTime value = ProtoTimeSpan.DeserializeDateTime(context); return(value); }
public override TimeSpan DeserializeImpl(TSource source, SerializationContext context) { long restore = context.LimitByLengthPrefix(); TimeSpan value = ProtoTimeSpan.DeserializeTimeSpan(context); context.MaxReadPosition = restore; return(value); }
public override int Serialize(TSource source, SerializationContext context) { TimeSpan value = GetValue(source); if (IsOptional && value == DefaultValue) { return(0); } return(WritePrefix(context) + ProtoTimeSpan.SerializeTimeSpan(value, context, true)); }
public override int Serialize(TSource source, SerializationContext context) { DateTime value = GetValue(source); if (IsOptional && value == DefaultValue) { return(0); } return(WritePrefix(context) + ProtoTimeSpan.SerializeDateTime(value, context, false) + context.EncodeUInt32(suffix)); }
public override TimeSpan DeserializeImpl(TSource source, SerializationContext context) { context.StartGroup(Tag); // will be ended internally return(ProtoTimeSpan.DeserializeTimeSpan(context)); }