Ejemplo n.º 1
0
        //-------------------------------------------------
        // Read pages from a page blob
        //-------------------------------------------------

        private static void ReadFromPageBlob(PageBlobClient pageBlobClient,
                                             long bufferOffset, long rangeSize)
        {
            // <Snippet_ReadFromPageBlob>
            var pageBlob = pageBlobClient.Download(new HttpRange(bufferOffset, rangeSize));
            // </Snippet_ReadFromPageBlob>
        }
Ejemplo n.º 2
0
        //-------------------------------------------------
        // Read valid page regions from a page blob
        //-------------------------------------------------

        private static void ReadValidPageRegionsFromPageBlob(PageBlobClient pageBlobClient,
                                                             long bufferOffset, long rangeSize)
        {
            // <Snippet_ReadValidPageRegionsFromPageBlob>
            IEnumerable <HttpRange> pageRanges = pageBlobClient.GetPageRanges().Value.PageRanges;

            foreach (var range in pageRanges)
            {
                var pageBlob = pageBlobClient.Download(range);
            }
            // </Snippet_ReadValidPageRegionsFromPageBlob>
        }
        public override byte ReadByte()
        {
            if (_blobLength == 0)
            {
                return(0);
            }

            if (_currPage == null || _prevPageOffset != GetCurrentPageOffset())
            {
                // download and cache the current page.
                _currPage ??= new byte[512];
                var range = new HttpRange(_currPageOffset, 512);
                BlobDownloadInfo download = _pageBlobClient.Download(range);
                download.Content.Read(_currPage, 0, 512);
            }

            var pos = _currPagePosition - _currPageOffset;
            var b   = _currPage[pos];

            _currPagePosition += 1;
            return(b);
        }