Example #1
0
        public static Revision FromStream(ResponseBodyStream stream)
        {
            short ver = stream.ReadShort();

            switch (ver)
            {
            case 0:
                return(new Revision());

            case 1:
                return(new Revision(TreeId.FromStream(stream), stream.ReadULong()));

            case 2:
                return(new Revision(TreeId.FromStream(stream), stream.ReadULong()));

            case 3:
                return(new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream), stream.ReadULong()));

            case 4:
                return(new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream), stream.ReadULong()));

            case 5:
                return(new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream)));

            //more revisions?

            default:
                throw new Exception("Unknown revision " + ver);
            }
        }
Example #2
0
        public static TreeId FromStream(ResponseBodyStream stream)
        {
            var buffer = stream.ReadNBytes(12);

            if (null == buffer || buffer.Length != 12)
            {
                throw new Exception("Cannot read TreeId");
            }

            return(new TreeId(buffer));
        }
Example #3
0
        public static Revision FromStream(ResponseBodyStream stream)
        {
            short ver = stream.ReadShort();

            return(ver switch
            {
                0 => new Revision(),
                1 => new Revision(TreeId.FromStream(stream), stream.ReadULong()),
                2 => new Revision(TreeId.FromStream(stream), stream.ReadULong()),
                3 => new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream),
                                  stream.ReadULong()),
                4 => new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream),
                                  stream.ReadULong()),
                5 => new Revision(TreeId.FromStream(stream), stream.ReadULong(), TreeId.FromStream(stream)),
                _ => throw new Exception("Unknown revision " + ver)
            });