Skip to content

Commit db59794

Browse files
committed
Revert "Latest Zig SinglyLinkedList changes (#117)"
This reverts commit 37d7cb9.
1 parent 37d7cb9 commit db59794

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

src/httpz.zig

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,6 @@ pub fn Server(comptime H: type) type {
246246
middlewares: []const Middleware(H) = &.{},
247247
};
248248

249-
const MiddlewareItem = struct {
250-
middleware: Middleware(H),
251-
node: std.SinglyLinkedList.Node = .{},
252-
};
253-
254249
return struct {
255250
handler: H,
256251
config: Config,
@@ -264,7 +259,7 @@ pub fn Server(comptime H: type) type {
264259
_max_request_per_connection: usize,
265260
_middlewares: []const Middleware(H),
266261
_websocket_state: websocket.server.WorkerState,
267-
_middleware_registry: std.SinglyLinkedList,
262+
_middleware_registry: std.SinglyLinkedList(Middleware(H)),
268263

269264
const Self = @This();
270265
const Worker = if (blockingMode()) worker.Blocking(*Self, WebsocketHandler) else worker.NonBlocking(*Self, WebsocketHandler);
@@ -330,8 +325,7 @@ pub fn Server(comptime H: type) type {
330325

331326
var node = self._middleware_registry.first;
332327
while (node) |n| {
333-
const item: *MiddlewareItem = @fieldParentPtr("node", n);
334-
item.middleware.deinit();
328+
n.data.deinit();
335329
node = n.next;
336330
}
337331

@@ -581,7 +575,7 @@ pub fn Server(comptime H: type) type {
581575
pub fn middleware(self: *Self, comptime M: type, config: M.Config) !Middleware(H) {
582576
const arena = self.arena;
583577

584-
const node = try arena.create(MiddlewareItem);
578+
const node = try arena.create(std.SinglyLinkedList(Middleware(H)).Node);
585579
errdefer arena.destroy(node);
586580

587581
const m = try arena.create(M);
@@ -596,8 +590,8 @@ pub fn Server(comptime H: type) type {
596590
}
597591

598592
const iface = Middleware(H).init(m);
599-
node.*.middleware = iface;
600-
self._middleware_registry.prepend(&node.node);
593+
node.data = iface;
594+
self._middleware_registry.prepend(node);
601595

602596
return iface;
603597
}

0 commit comments

Comments
 (0)