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);
            }
        }
Exemple #2
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)
            });
 private Revision(TreeId treeId, ulong bgn, TreeId newTreeId, ulong newBgn) : this(treeId, bgn, newTreeId)
 {
     _newBgn = newBgn;
 }
 private Revision(TreeId treeId, ulong bgn, TreeId newTreeId) : this(treeId, bgn)
 {
     _newTreeId = newTreeId;
 }
 private Revision(TreeId treeId, ulong bgn) : this()
 {
     _treeId = treeId;
     _bgn    = bgn;
 }
Exemple #6
0
 public TreeId ReadTreeId()
 {
     return(TreeId.FromStream(this));
 }