Update to new Zig API (0.11.0-dev.3892+0a6cd257b).
parent
8ca93de58a
commit
0d74c82e7c
|
@ -38,7 +38,7 @@ pub fn build(b: *std.Build) void {
|
||||||
const shared_lib = b.addSharedLibrary(.{
|
const shared_lib = b.addSharedLibrary(.{
|
||||||
.name = "ipc",
|
.name = "ipc",
|
||||||
.root_source_file = .{ .path = "src/bindings.zig" },
|
.root_source_file = .{ .path = "src/bindings.zig" },
|
||||||
.version = comptime (try std.builtin.Version.parse(VERSION)),
|
.version = comptime (try std.SemanticVersion.parse(VERSION)),
|
||||||
.target = target,
|
.target = target,
|
||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
});
|
});
|
||||||
|
|
|
@ -94,7 +94,7 @@ export fn ipc_wait_event(ctx: *Context, t: *u8, index: *usize, originfd: *i32, b
|
||||||
var event = ctx.wait_event() catch |err| switch(err) {
|
var event = ctx.wait_event() catch |err| switch(err) {
|
||||||
else => { log.warn("error while waiting for an event: {}\n", .{err}); return -1; },
|
else => { log.warn("error while waiting for an event: {}\n", .{err}); return -1; },
|
||||||
};
|
};
|
||||||
t.* = @enumToInt(event.t);
|
t.* = @intFromEnum(event.t);
|
||||||
index.* = event.index;
|
index.* = event.index;
|
||||||
originfd.* = event.origin;
|
originfd.* = event.origin;
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ pub fn Cmsghdr(comptime T: type) type {
|
||||||
};
|
};
|
||||||
|
|
||||||
const data_align = @sizeOf(usize);
|
const data_align = @sizeOf(usize);
|
||||||
const data_offset = std.mem.alignForward(@sizeOf(Header), data_align);
|
const data_offset = std.mem.alignForward(usize, @sizeOf(Header), data_align);
|
||||||
|
|
||||||
return extern struct {
|
return extern struct {
|
||||||
const Self = @This();
|
const Self = @This();
|
||||||
|
@ -60,10 +60,10 @@ pub fn Cmsghdr(comptime T: type) type {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn headerPtr(self: *Self) *Header {
|
pub fn headerPtr(self: *Self) *Header {
|
||||||
return @ptrCast(*Header, self);
|
return @ptrCast(self);
|
||||||
}
|
}
|
||||||
pub fn dataPtr(self: *Self) *align(data_align) T {
|
pub fn dataPtr(self: *Self) *align(data_align) T {
|
||||||
return @ptrCast(*T, self.bytes[data_offset..]);
|
return @ptrCast(self.bytes[data_offset..]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ pub fn recvmsg(
|
||||||
) SendMsgError!usize {
|
) SendMsgError!usize {
|
||||||
while (true) {
|
while (true) {
|
||||||
var m = msg;
|
var m = msg;
|
||||||
const rc = system.recvmsg(sockfd, @ptrCast(*std.os.msghdr, &m), @intCast(c_uint, flags));
|
const rc = system.recvmsg(sockfd, @ptrCast(&m), @intCast(flags));
|
||||||
if (builtin.os.tag == .windows) {
|
if (builtin.os.tag == .windows) {
|
||||||
if (rc == windows.ws2_32.SOCKET_ERROR) {
|
if (rc == windows.ws2_32.SOCKET_ERROR) {
|
||||||
switch (windows.ws2_32.WSAGetLastError()) {
|
switch (windows.ws2_32.WSAGetLastError()) {
|
||||||
|
@ -146,11 +146,11 @@ pub fn recvmsg(
|
||||||
else => |err| return windows.unexpectedWSAError(err),
|
else => |err| return windows.unexpectedWSAError(err),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return @intCast(usize, rc);
|
return @intCast(rc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch (errno(rc)) {
|
switch (errno(rc)) {
|
||||||
.SUCCESS => return @intCast(usize, rc),
|
.SUCCESS => return @intCast(rc),
|
||||||
|
|
||||||
.ACCES => return error.AccessDenied,
|
.ACCES => return error.AccessDenied,
|
||||||
.AGAIN => return error.WouldBlock,
|
.AGAIN => return error.WouldBlock,
|
||||||
|
|
|
@ -37,7 +37,7 @@ pub const Message = struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn write(self: Self, writer: anytype) !usize {
|
pub fn write(self: Self, writer: anytype) !usize {
|
||||||
try writer.writeIntBig(u32, @truncate(u32, self.payload.len));
|
try writer.writeIntBig(u32, @as(u32, @truncate(self.payload.len)));
|
||||||
return 4 + try writer.write(self.payload);
|
return 4 + try writer.write(self.payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ pub const SwitchDB = struct {
|
||||||
var managedconnection = self.db.get(fd) orelse return error.unregisteredFD;
|
var managedconnection = self.db.get(fd) orelse return error.unregisteredFD;
|
||||||
|
|
||||||
var buffer = [_]u8{0} ** 100000; // TODO: buffer size
|
var buffer = [_]u8{0} ** 100000; // TODO: buffer size
|
||||||
var message_size: u32 = @truncate(u32, buffer.len);
|
var message_size: u32 = @truncate(buffer.len);
|
||||||
var r: CBEventType = managedconnection.in(fd, &buffer, &message_size);
|
var r: CBEventType = managedconnection.in(fd, &buffer, &message_size);
|
||||||
|
|
||||||
switch (r) {
|
switch (r) {
|
||||||
|
@ -118,7 +118,7 @@ pub const SwitchDB = struct {
|
||||||
_ = message.write(writer) catch return error.generic;
|
_ = message.write(writer) catch return error.generic;
|
||||||
var written = fbs.getWritten();
|
var written = fbs.getWritten();
|
||||||
|
|
||||||
var r = managedconnection.out(message.fd, written.ptr, @truncate(u32, written.len));
|
var r = managedconnection.out(message.fd, written.ptr, @truncate(written.len));
|
||||||
|
|
||||||
switch (r) {
|
switch (r) {
|
||||||
// The message should be ignored (protocol specific).
|
// The message should be ignored (protocol specific).
|
||||||
|
@ -206,7 +206,7 @@ fn successful_in(_: i32, mcontent: [*]u8, mlen: *u32) CBEventType {
|
||||||
var fbs = std.io.fixedBufferStream(mcontent[0..mlen.*]);
|
var fbs = std.io.fixedBufferStream(mcontent[0..mlen.*]);
|
||||||
var writer = fbs.writer();
|
var writer = fbs.writer();
|
||||||
const bytes_written = m.write(writer) catch unreachable;
|
const bytes_written = m.write(writer) catch unreachable;
|
||||||
mlen.* = @truncate(u32, bytes_written);
|
mlen.* = @truncate(bytes_written);
|
||||||
return CBEventType.NO_ERROR;
|
return CBEventType.NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ fn default_in(origin: i32, mcontent: [*]u8, mlen: *u32) CBEventType {
|
||||||
return CBEventType.FD_CLOSING;
|
return CBEventType.FD_CLOSING;
|
||||||
}
|
}
|
||||||
|
|
||||||
mlen.* = @truncate(u32, packet_size);
|
mlen.* = @truncate(packet_size);
|
||||||
|
|
||||||
return CBEventType.NO_ERROR;
|
return CBEventType.NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue