some async stuff
parent
618a52b601
commit
049e69a880
@ -0,0 +1,2 @@
|
|||||||
|
following along with this blog post:
|
||||||
|
https://kristoff.it/blog/zig-colorblind-async-await/
|
@ -0,0 +1,26 @@
|
|||||||
|
const std = @import("std");
|
||||||
|
const net = std.net;
|
||||||
|
|
||||||
|
const stdout = std.io.getStdOut().writer();
|
||||||
|
pub const io_mode = .evented;
|
||||||
|
|
||||||
|
pub fn main() !void {
|
||||||
|
const addr = try net.Address.parseIp("127.0.0.1", 7000);
|
||||||
|
try stdout.print("about to send message\n", .{});
|
||||||
|
|
||||||
|
var sendFrame = async send_message(addr);
|
||||||
|
// you can do some other stuff while waiting for send_message to resolve
|
||||||
|
try stdout.print("message sent, can do other stuff now\n", .{});
|
||||||
|
try stdout.print("alright let's wait\n", .{});
|
||||||
|
|
||||||
|
// now we await the result from that prior async operation
|
||||||
|
try await sendFrame;
|
||||||
|
try stdout.print("we finished with sendFrame\n", .{});
|
||||||
|
}
|
||||||
|
|
||||||
|
fn send_message(addr: net.Address) !void {
|
||||||
|
var socket = try net.tcpConnectToAddress(addr);
|
||||||
|
defer socket.close();
|
||||||
|
|
||||||
|
_ = try socket.write("Hello World!\n");
|
||||||
|
}
|
Loading…
Reference in New Issue