From 6c412e0307f1c475697c2cbf4a04b26604447b28 Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Sat, 15 Aug 2026 13:46:31 +1000 Subject: [PATCH] [idd] lgmp: expose stream allocation Expose LGMP stream creation through the existing IDD host wrapper so subsystem transports do not reach through its ownership boundary. Keep stream lifetime and binding under each transport while the host continues to own the underlying shared-memory allocator. --- idd/LGIdd/transport/lgmp/CLGMPHost.cpp | 6 ++++++ idd/LGIdd/transport/lgmp/CLGMPHost.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/idd/LGIdd/transport/lgmp/CLGMPHost.cpp b/idd/LGIdd/transport/lgmp/CLGMPHost.cpp index 006eb3d0..92027368 100644 --- a/idd/LGIdd/transport/lgmp/CLGMPHost.cpp +++ b/idd/LGIdd/transport/lgmp/CLGMPHost.cpp @@ -150,6 +150,12 @@ LGMP_STATUS CLGMPHost::CreateQueue( return lgmpHostQueueNew(m_host, config, queue); } +LGMP_STATUS CLGMPHost::CreateStream( + const struct LGMPStreamConfig& config, PLGMPHostStream * stream) +{ + return lgmpHostStreamNew(m_host, config, stream); +} + LGMP_STATUS CLGMPHost::Allocate(uint32_t size, PLGMPMemory * memory) { return lgmpHostMemAlloc(m_host, size, memory); diff --git a/idd/LGIdd/transport/lgmp/CLGMPHost.h b/idd/LGIdd/transport/lgmp/CLGMPHost.h index 09966f1a..eaafd967 100644 --- a/idd/LGIdd/transport/lgmp/CLGMPHost.h +++ b/idd/LGIdd/transport/lgmp/CLGMPHost.h @@ -29,6 +29,7 @@ extern "C" { #include "lgmp/host.h" + #include "lgmp/stream.h" } class CIVSHMEM; @@ -54,6 +55,8 @@ public: LGMP_STATUS CreateQueue(const struct LGMPQueueConfig& config, PLGMPHostQueue * queue); + LGMP_STATUS CreateStream(const struct LGMPStreamConfig& config, + PLGMPHostStream * stream); LGMP_STATUS Allocate(uint32_t size, PLGMPMemory * memory); LGMP_STATUS AllocateAligned(uint32_t size, uint32_t alignment, PLGMPMemory * memory);