Compare commits

..

No commits in common. "zig-0.15.0" and "master" have entirely different histories.

4 changed files with 11 additions and 20 deletions

View file

@ -1 +1 @@
0.15.0-dev.703+597dd328e 0.14.1

View file

@ -27,8 +27,8 @@
.hash = "fuzzig-0.1.1-AAAAALNIAQBmbHr-MPalGuR393Vem2pTQXI7_LXeNJgX", .hash = "fuzzig-0.1.1-AAAAALNIAQBmbHr-MPalGuR393Vem2pTQXI7_LXeNJgX",
}, },
.vaxis = .{ .vaxis = .{
.url = "https://github.com/neurocyte/libvaxis/archive/64a29f4f91292bc79dc9afb9a254cbdfb35e29a6.tar.gz", .url = "https://github.com/neurocyte/libvaxis/archive/6137cb4c44a7350996f0946a069739e5075d1f23.tar.gz",
.hash = "vaxis-0.1.0-BWNV_KEOCQCzedUR1prWhPUcgsRmw8f-r5JBc3s4DLJf", .hash = "vaxis-0.1.0-BWNV_HwOCQCw5wTV63hQGSc1QJzsNcytH6sGf1GBc0hP",
}, },
.zeit = .{ .zeit = .{
.url = "https://github.com/rockorager/zeit/archive/8fd203f85f597f16e0a525c1f1ca1e0bffded809.tar.gz", .url = "https://github.com/rockorager/zeit/archive/8fd203f85f597f16e0a525c1f1ca1e0bffded809.tar.gz",

View file

@ -1222,7 +1222,6 @@ pub const LoadFromFileError = error{
LockViolation, LockViolation,
ProcessNotFound, ProcessNotFound,
Canceled, Canceled,
PermissionDenied,
}; };
pub fn load_from_file( pub fn load_from_file(
@ -1328,8 +1327,6 @@ pub const StoreToFileError = error{
SystemResources, SystemResources,
Unexpected, Unexpected,
WouldBlock, WouldBlock,
PermissionDenied,
MessageTooBig,
}; };
pub fn store_to_existing_file_const(self: *const Self, file_path: []const u8) StoreToFileError!void { pub fn store_to_existing_file_const(self: *const Self, file_path: []const u8) StoreToFileError!void {

View file

@ -10,14 +10,9 @@ receiver: Receiver,
subscriber: ?tp.pid, subscriber: ?tp.pid,
heap: [32 + 1024]u8, heap: [32 + 1024]u8,
fba: std.heap.FixedBufferAllocator, fba: std.heap.FixedBufferAllocator,
msg_store: MsgStore, msg_store: MsgStoreT,
const MsgStore = std.DoublyLinkedList;
const MsgStoreEntry = struct {
data: []u8,
node: MsgStore.Node,
};
const MsgStoreT = std.DoublyLinkedList([]u8);
const Receiver = tp.Receiver(*Self); const Receiver = tp.Receiver(*Self);
const StartArgs = struct { const StartArgs = struct {
@ -43,7 +38,7 @@ fn init(args: StartArgs) !*Self {
.subscriber = null, .subscriber = null,
.heap = undefined, .heap = undefined,
.fba = std.heap.FixedBufferAllocator.init(&p.heap), .fba = std.heap.FixedBufferAllocator.init(&p.heap),
.msg_store = MsgStore{}, .msg_store = MsgStoreT{},
}; };
return p; return p;
} }
@ -60,18 +55,17 @@ fn log(msg: []const u8) void {
fn store(self: *Self, m: tp.message) void { fn store(self: *Self, m: tp.message) void {
const allocator: std.mem.Allocator = self.fba.allocator(); const allocator: std.mem.Allocator = self.fba.allocator();
const buf: []u8 = allocator.alloc(u8, m.len()) catch return; const buf: []u8 = allocator.alloc(u8, m.len()) catch return;
var msg: *MsgStoreEntry = allocator.create(MsgStoreEntry) catch return; var node: *MsgStoreT.Node = allocator.create(MsgStoreT.Node) catch return;
msg.data = buf; node.data = buf;
@memcpy(buf, m.buf); @memcpy(buf, m.buf);
self.msg_store.append(&msg.node); self.msg_store.append(node);
} }
fn store_send(self: *Self) void { fn store_send(self: *Self) void {
var node = self.msg_store.first; var node = self.msg_store.first;
if (self.subscriber) |sub| { if (self.subscriber) |sub| {
while (node) |node_| { while (node) |node_| {
const msg: *MsgStoreEntry = @fieldParentPtr("node", node_); sub.send_raw(tp.message{ .buf = node_.data }) catch return;
sub.send_raw(tp.message{ .buf = msg.data }) catch return;
node = node_.next; node = node_.next;
} }
} }
@ -79,7 +73,7 @@ fn store_send(self: *Self) void {
} }
fn store_reset(self: *Self) void { fn store_reset(self: *Self) void {
self.msg_store = MsgStore{}; self.msg_store = MsgStoreT{};
self.fba.reset(); self.fba.reset();
} }