All pastes #108226 Raw Edit

Stuff

public text v1 · immutable
#108226 ·published 2006-07-31 11:11 UTC
rendered paste body
		public override void BeginGetRequestStream()
		{
			HttpWebRequest httpWebRequest = WebRequest.Create(userDownload.url) as HttpWebRequest;
			httpWebRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
			httpWebRequest.AddRange(clientSegment.startPos, clientSegment.endPos);
			httpWebRequest.BeginGetResponse(GetRequestStreamCallback, httpWebRequest);
		}

		private void GetRequestStreamCallback(IAsyncResult iAsyncResult)
		{
			HttpWebResponse httpWebResponse = (iAsyncResult.AsyncState as HttpWebRequest).EndGetResponse(iAsyncResult) as HttpWebResponse;
			NetworkStream networkStream = new NetworkStream( httpWebResponse.GetResponseStream();

			stream.BeginRead(buf, 0, buf.Length, StreamReadCallback, stream);
		}

		private void StreamReadCallback(IAsyncResult iAsyncResult)
		{
			Stream stream = iAsyncResult.AsyncState as Stream;

			int len = stream.EndRead(iAsyncResult);
			clientSegment.offset += len;
			bufferedStream.Write(buf, 0, len);

			stream.BeginRead(buf, 0, buf.Length, StreamReadCallback, stream);
		}