diff --git a/async/async.zig b/async/async.zig index 4685996..5cee994 100644 --- a/async/async.zig +++ b/async/async.zig @@ -391,8 +391,12 @@ pub const Socket = struct { return .{ .inner = try self.inner.accept() }; } - pub fn connect(self: *TCP, addr: std.net.Address) !void { - return self.inner.connect(addr); + pub fn connect(addr: std.net.Address) !TCP { + var self: TCP = .{ + .inner = aio.TCP.init(AsyncThread.current.executor, try xev.TCP.init(addr)), + }; + try self.inner.connect(addr); + return self; } pub fn read(self: TCP, buf: []u8) !usize { diff --git a/async/asyncio.zig b/async/asyncio.zig index bbc842c..12da98a 100644 --- a/async/asyncio.zig +++ b/async/asyncio.zig @@ -144,7 +144,8 @@ pub const TCP = struct { return .{ .exec = self.exec, .tcp = result }; } - const ConnectResult = xev.TCP.ConnectError!void; + const ConnectResult = xev.ConnectError!void; + pub fn connect(self: Self, addr: std.net.Address) !void { const ResultT = ConnectResult; const Data = struct {