void WriteAsInt64(BinaryWriter writer, IList values, Thrift.ConvertedType type) { long mult = (type != Thrift.ConvertedType.TIMESTAMP_MILLIS) ? 1000000 : 1; foreach (DateTimeOffset dto in values) { long unixTime = dto.ToUnixTime() * mult; writer.Write(unixTime); } }
void ReadAsInt64(BinaryReader reader, IList result, Thrift.ConvertedType type) { bool isMicro = (type != Thrift.ConvertedType.TIMESTAMP_MILLIS); while (reader.BaseStream.Position + 8 <= reader.BaseStream.Length) { long lv = reader.ReadInt64(); var r = isMicro ? lv.FromTimeStampMicro() : lv.FromUnixTime(); result.Add(r); } }