BadVPN – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 process main {
2 getargs() args;
3 value(args) args;
4  
5 num_different(args.length, "2") bad_args;
6 If (bad_args) {
7 println("bad arguments");
8 exit("1");
9 };
10  
11 args->get("0") addr_ip;
12 args->get("1") addr_port;
13  
14 sys.listen({"tcp", {"ipv4", addr_ip, addr_port}}, "client_handler", {}) listener;
15 If (listener.is_error) {
16 println("failed to listen");
17 exit("1");
18 };
19  
20 println("listening");
21 }
22  
23 template client_handler {
24 to_string(_socket.client_addr) addr_str;
25  
26 println("client ", addr_str, ": connected");
27 rprintln("client ", addr_str, ": disconnected");
28  
29 _socket->write("This echo server is implemented in NCD!\n\n");
30  
31 backtrack_point() recv_point;
32  
33 _socket->read() data;
34 If (data.not_eof) {
35 _socket->write(data);
36 recv_point->go();
37 };
38  
39 _socket->close();
40 }