//private public int Serialize(ref byte[] bytes, int offset, Date input, MessagePack.IFormatterResolver formatterResolver) { //if (value == null) //{ // return MessagePack.MessagePackBinary.WriteNil(ref bytes, offset); //} int token = input.Year * 10000 + input.Month * 100 + input.Day; return(MessagePack.MessagePackBinary.WriteInt32(ref bytes, offset, token)); }
public Date Deserialize(byte[] bytes, int offset, MessagePack.IFormatterResolver formatterResolver, out int readSize) { //if (MessagePack.MessagePackBinary.IsNil(bytes, offset)) //{ // readSize = 1; // return null; //} long token = MessagePack.MessagePackBinary.ReadInt32(bytes, offset, out readSize); //var year = token / 10000; var year = (token * YearMultiplier >> YearShift); token = token - (year * 10000); //var month = token / 100; var month = (token * MonthMultiplier >> MonthShift); token = token - (month * 100); var day = token; return(new Date((int)year, (int)month, (int)day)); }
public MessagePackSerializer(MessagePack.IFormatterResolver resolver = null, bool useCompression = false) { this.useCompression = useCompression; this.formatterResolver = resolver ?? ContractlessStandardResolver.Instance; }
public DatabaseBuilder(MessagePack.IFormatterResolver resolver) : base(resolver) { }