Example #1
0
    static void Main()
    {
        var dump = File.Create("/tmp/queued-result", 8192);
        var qs   = new QueueStream("/tmp/storage");

        byte [] buffer = new byte [8192];
        int     count;

        var t = new Thread((o) => {
            var request   = (HttpWebRequest)WebRequest.Create(url);
            var response  = request.GetResponse();
            var webStream = response.GetResponseStream();
            var webBuffer = new byte [8192];
            int c;

            while ((c = webStream.Read(webBuffer, 0, webBuffer.Length)) != 0)
            {
                Console.Write(".");
                var start = DateTime.UtcNow;
                qs.Push(webBuffer, 0, c);
            }
            Console.WriteLine("Done reading from the web");
            qs.Done();
        });

        t.Start();

        long total = 0;

        while ((count = qs.Read(buffer, 0, buffer.Length)) != 0)
        {
            total += count;
            Console.WriteLine("Slowly reading {0}, total={1}", count, total);
            dump.Write(buffer, 0, count);
            Thread.Sleep(1000);
        }
    }
Example #2
0
	static void Main ()
	{
		var dump = File.Create ("/tmp/queued-result", 8192);
		var qs = new QueueStream ("/tmp/storage");
		byte [] buffer = new byte [8192];
		int count;

		var t = new Thread ((o) => {
			var request = (HttpWebRequest) WebRequest.Create (url);
			var response = request.GetResponse ();
			var webStream = response.GetResponseStream ();
			var webBuffer = new byte [8192];
			int c;
			
			while ((c = webStream.Read (webBuffer, 0, webBuffer.Length)) != 0){
				Console.Write (".");
				var start = DateTime.UtcNow;
				qs.Push (webBuffer, 0, c);
			}
			Console.WriteLine ("Done reading from the web");
			qs.Done ();
		});
		t.Start ();

		long total = 0;
		while ((count = qs.Read (buffer, 0, buffer.Length)) != 0){
			total += count;
			Console.WriteLine ("Slowly reading {0}, total={1}", count, total);
			dump.Write (buffer, 0, count);
			Thread.Sleep (1000);
		}
			
	}