mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-06-11 11:19:41 +00:00
* refactor: extract libwaku cgo bridge into internal/ffi Move the C preamble, cgo shims, and callback plumbing from pkg/kernel/nwaku.go into internal/ffi/libwaku.go, where #111 scaffolded them to live. The bridge exposes Go-typed Waku* primitives (handle in, strings out) and owns the handle->event-handler registry, so pkg/kernel is now pure Go: WakuNode keeps its full API, logging, and error texts, and just calls ffi. Behavior is unchanged. Dropped four C shims that had no Go callers (cGoWakuContentTopic, cGoWakuPubsubTopic, cGoWakuDefaultPubsubTopic, cGoWakuLightpushPublish). CGO flags still come from the environment (Makefile/CI untouched). Part of #106. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * refactor: move libwaku bridge into internal/ffi/libwaku subpackage One subpackage per C library so a binary links exactly the libraries it imports: libwaku and liblogosdelivery carry overlapping symbols and must never link together (until logos-delivery#3851). With the package named libwaku the Waku* prefixes became stutter, so the exported primitives drop them (libwaku.New/Start/RelayPublish/...). internal/ffi keeps an umbrella doc.go stating the rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>