From 3521b7ff8966011e15260c0d5d5c880ffe885708 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 8 Apr 2020 21:21:58 +0200 Subject: [PATCH] websocket: fmt example + minor fixes --- vlib/net/websocket/examples/client.v | 113 ++++++++++++++------------- vlib/v/fmt/fmt.v | 3 + 2 files changed, 62 insertions(+), 54 deletions(-) diff --git a/vlib/net/websocket/examples/client.v b/vlib/net/websocket/examples/client.v index 761295ac56..00fa9897b2 100644 --- a/vlib/net/websocket/examples/client.v +++ b/vlib/net/websocket/examples/client.v @@ -12,13 +12,15 @@ import ( const ( eb = eventbus.new() ) + #flag -I $PWD #include "utf8.h" - fn C.utf8_validate_str() bool -fn main(){ - //println(sss) - /* for sss in 0..10 { + +fn main() { + // println(sss) + /* + for sss in 0..10 { mut bm := benchmark.new_benchmark() for i in 0..10000 { for a, t in tests { @@ -30,95 +32,98 @@ fn main(){ } } bm.stop() - println( bm.total_message('remarks about the benchmark') ) - } */ - mut ws := websocket.new("ws://localhost:9001/getCaseCount") - //defer { } - ws.subscriber.subscribe("on_open", on_open) - ws.subscriber.subscribe("on_message", on_message) - ws.subscriber.subscribe("on_error", on_error) - ws.subscriber.subscribe("on_close", on_close) - //go + println( bm.total_message('remarks about the benchmark') ) + } +*/ + mut ws := websocket.new('ws://localhost:9001/getCaseCount') + // defer { } + ws.subscriber.subscribe('on_open', on_open) + ws.subscriber.subscribe('on_message', on_message) + ws.subscriber.subscribe('on_error', on_error) + ws.subscriber.subscribe('on_close', on_close) + // go ws.connect() ws.read() - //time.usleep(2000000) - //go ws.listen() - //term.erase_clear() - /* text := read_line("[client]:") - if text == "close" { + // time.usleep(2000000) + // go ws.listen() + // term.erase_clear() + /* + text := read_line("[client]:") + if text == "close" { ws.close(1005, "done") time.usleep(1000000) exit(0) } - ws.write(text, .text_frame) */ - /* time.usleep(1000000) - ws.read() */ - //ws.close(1005, "done") - /* - */ - //ws.close(1005, "done") - //read_line("wait") + ws.write(text, .text_frame) +*/ + /* + time.usleep(1000000) + ws.read() +*/ + // ws.close(1005, "done") // + // ws.close(1005, "done") + // read_line("wait") } fn read_line(text string) string { mut r := readline.Readline{} - mut output := r.read_line(text + " ") or { + mut output := r.read_line(text + ' ') or { panic(err) } - output = output.replace("\n","") + output = output.replace('\n', '') if output.len <= 0 { - return "" + return '' } return output } -fn on_open(params eventbus.Params){ - println("websocket opened.") +fn on_open(params eventbus.Params) { + println('websocket opened.') } -fn on_message(params eventbus.Params){ - println("Message recieved. Sending it back.") - typ := params.get_string("type") - len := params.get_int("len") - mut ws := params.get_caller(ws.Client{}) - if typ == "string" { - message := params.get_string("payload") - if ws.uri.ends_with("getCaseCount") { +fn on_message(params eventbus.Params) { + println('Message recieved. Sending it back.') + typ := params.get_string('type') + len := params.get_int('len') + mut ws := params.get_caller(websocket.Client{}) + if typ == 'string' { + message := params.get_string('payload') + if ws.uri.ends_with('getCaseCount') { num := message.int() - ws.close(1005, "done") + ws.close(1005, 'done') start_tests(mut ws, num) return } - //println("Message: " + message) + // println("Message: " + message) ws.write(message.str, len, .text_frame) } else { - println("Binary message.") - message := params.get_raw("payload") + println('Binary message.') + message := params.get_raw('payload') ws.write(message, len, .binary_frame) } } -fn start_tests(ws mut ws.Client, num int) { +fn start_tests(ws mut websocket.Client, num int) { for i := 1; i < num; i++ { - println("Running test: " + i.str()) - ws.uri = "ws://localhost:9001/runCase?case=${i.str()}&agent=vws/1.0a" + println('Running test: ' + i.str()) + ws.uri = 'ws://localhost:9001/runCase?case=${i.str()}&agent=vws/1.0a' if ws.connect() >= 0 { ws.listen() } } - println("Done!") - ws.uri = "ws://localhost:9001/updateReports?agent=vws/1.0a" + println('Done!') + ws.uri = 'ws://localhost:9001/updateReports?agent=vws/1.0a' if ws.connect() >= 0 { ws.read() - ws.close(1000, "disconnecting...") + ws.close(1000, 'disconnecting...') } exit(0) } -fn on_close(params eventbus.Params){ - println("websocket closed.") +fn on_close(params eventbus.Params) { + println('websocket closed.') } -fn on_error(params eventbus.Params){ - println("we have an error.") -} \ No newline at end of file +fn on_error(params eventbus.Params) { + println('we have an error.') +} diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 256b9d7c11..24202f455b 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -281,6 +281,9 @@ fn (f mut Fmt) stmt(node ast.Stmt) { ast.GotoStmt { f.writeln('goto $it.name') } + ast.HashStmt { + f.writeln('#$it.val') + } ast.Import { f.imports(f.file.imports) }