@@ -246,11 +246,6 @@ pub fn Server(comptime H: type) type {
246
246
middlewares : []const Middleware (H ) = &.{},
247
247
};
248
248
249
- const MiddlewareItem = struct {
250
- middleware : Middleware (H ),
251
- node : std.SinglyLinkedList.Node = .{},
252
- };
253
-
254
249
return struct {
255
250
handler : H ,
256
251
config : Config ,
@@ -264,7 +259,7 @@ pub fn Server(comptime H: type) type {
264
259
_max_request_per_connection : usize ,
265
260
_middlewares : []const Middleware (H ),
266
261
_websocket_state : websocket.server.WorkerState ,
267
- _middleware_registry : std.SinglyLinkedList ,
262
+ _middleware_registry : std .SinglyLinkedList ( Middleware ( H )) ,
268
263
269
264
const Self = @This ();
270
265
const Worker = if (blockingMode ()) worker .Blocking (* Self , WebsocketHandler ) else worker .NonBlocking (* Self , WebsocketHandler );
@@ -330,8 +325,7 @@ pub fn Server(comptime H: type) type {
330
325
331
326
var node = self ._middleware_registry .first ;
332
327
while (node ) | n | {
333
- const item : * MiddlewareItem = @fieldParentPtr ("node" , n );
334
- item .middleware .deinit ();
328
+ n .data .deinit ();
335
329
node = n .next ;
336
330
}
337
331
@@ -581,7 +575,7 @@ pub fn Server(comptime H: type) type {
581
575
pub fn middleware (self : * Self , comptime M : type , config : M.Config ) ! Middleware (H ) {
582
576
const arena = self .arena ;
583
577
584
- const node = try arena .create (MiddlewareItem );
578
+ const node = try arena .create (std . SinglyLinkedList ( Middleware ( H )). Node );
585
579
errdefer arena .destroy (node );
586
580
587
581
const m = try arena .create (M );
@@ -596,8 +590,8 @@ pub fn Server(comptime H: type) type {
596
590
}
597
591
598
592
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 );
601
595
602
596
return iface ;
603
597
}
0 commit comments