Beispiel #1
0
        public IDisposable ReserveLength()
        {
            var offset = Target.Position;

            Target.Position += kMaxLengthByteCount;
            var fredTheBanana = new FredTheBanana {
                Length = -1, Skip = -1
            };
            var fredIndex = bananas.Count;

            bananas.Add(fredTheBanana);
            return(new LengthReservation(offset, Target, bananas, fredIndex, addToByteCountFunc, getByteCountFunc));
        }
Beispiel #2
0
        public CountReservation ReserveCount()
        {
            // todo: code duplication
            var offset = Target.Position;

            Target.Position += kMaxLengthByteCount;
            var fredTheBanana = new FredTheBanana {
                Length = -1, Skip = -1
            };
            var fredIndex = bananas.Count;

            bananas.Add(fredTheBanana);
            return(new CountReservation(offset, Target, bananas, fredIndex, addToByteCountFunc));
        }