//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));
        }
Esempio n. 3
0
 public MessagePackSerializer(MessagePack.IFormatterResolver resolver = null, bool useCompression = false)
 {
     this.useCompression    = useCompression;
     this.formatterResolver = resolver ?? ContractlessStandardResolver.Instance;
 }
Esempio n. 4
0
 public DatabaseBuilder(MessagePack.IFormatterResolver resolver) : base(resolver)
 {
 }