summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-04-29 08:42:56 -0400
committerRobby Zambito <contact@robbyzambito.me>2025-05-10 21:46:53 -0400
commitbcab1e4d00ceab61e16ae0a0f54e56c93d62f91d (patch)
tree7ee26d6d2d405854e20136aae7e79675a309233d /src
parent0e8f0169782d65ea7c7afe03fef87a20012a0006 (diff)
Diffstat (limited to 'src')
-rw-r--r--src/message.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/message.zig b/src/message.zig
index e932a73..80757fa 100644
--- a/src/message.zig
+++ b/src/message.zig
@@ -76,6 +76,10 @@ pub const ZeroCopyMessage = packed struct {
length: u16,
bytes: void = {},
+ pub fn init(allocator: Allocator, payload_len: u16) !*Self {
+ const bytes = try allocator.alignedAlloc(u8, @alignOf(Self), @sizeOf(Self) + payload_len);
+ }
+
fn getRelay(self: *Self) *align(1) Relay {
return std.mem.bytesAsValue(Relay, &self.bytes);
}
@@ -137,11 +141,11 @@ pub const ZeroCopyMessage = packed struct {
test "testing variable length zero copy struct" {
const gpa = std.testing.allocator;
const payload_len = 48;
- const bytes = try gpa.alignedAlloc(u8, @alignOf(ZeroCopyMessage), @sizeOf(ZeroCopyMessage) + payload_len);
defer gpa.free(bytes);
// Create a view of the byte slice as a ZeroCopyMessage
const zcm: *ZeroCopyMessage = .fromBytesUnchecked(bytes);
+ defer zcm.deinit(gpa);
{
// Set the message values