Update pascalgen to match newer output format requirements.
[versaplex.git] / wvdotnet / streamtest.cs
blobe9c32ee6bfc3f713e9f507f6a76c461bb7647ef5
1 using System;
2 using System.Collections;
3 using Wv;
4 using Wv.Extensions;
6 public class FooTest
8 static IEnumerable contprint(WvLog log, WvStream s, string prefix)
10 int i = 0;
11 while (s.ok)
13 i++;
14 string str = s.read(128).FromUTF8();
15 log.print("{0}#{1}: {2}\n", prefix, i, str);
16 yield return 0;
20 public static void Main()
23 Console.WriteLine("stdout works.");
24 Console.OpenStandardError().write("stderr works.\n".ToUTF8());
26 WvLog log = new WvLog("main");
27 log.print("Hello");
28 log.print(" world!\n");
30 WvStream s1 = new WvTcp("localhost", 80);
31 WvStream s2 = new WvTcp("localhost", 80);
32 s1.onreadable += contprint(log, s1, "\nA\n").ToAction();
33 s2.onreadable += contprint(log, s2, "\nB\n").ToAction();
34 s1.print("GET / HTTP/1.0\r\n\r\n");
35 s2.print("FOO / HTTP/1.0\r\n\r\n");
36 while (s1.ok || s2.ok)
37 WvStream.runonce();
38 log.print("\n");
39 log.print("s1 err: {0}\n", s1.err.Short());
40 log.print("s2 err: {0}\n", s2.err.Short());