async: fix TCP connection handling

This commit is contained in:
Tarry Singh 2024-08-29 17:10:30 +00:00
parent ac63c30e12
commit 1068d0bb33
2 changed files with 8 additions and 3 deletions

View File

@ -391,8 +391,12 @@ pub const Socket = struct {
return .{ .inner = try self.inner.accept() }; return .{ .inner = try self.inner.accept() };
} }
pub fn connect(self: *TCP, addr: std.net.Address) !void { pub fn connect(addr: std.net.Address) !TCP {
return self.inner.connect(addr); 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 { pub fn read(self: TCP, buf: []u8) !usize {

View File

@ -144,7 +144,8 @@ pub const TCP = struct {
return .{ .exec = self.exec, .tcp = result }; 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 { pub fn connect(self: Self, addr: std.net.Address) !void {
const ResultT = ConnectResult; const ResultT = ConnectResult;
const Data = struct { const Data = struct {