mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-06-10 18:59:31 +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>
8 lines
373 B
Go
8 lines
373 B
Go
// Package ffi groups the cgo bridges over the logos-delivery C libraries.
|
|
//
|
|
// Each C library gets its own subpackage (libwaku now; liblogosdelivery in a
|
|
// follow-up) so that a binary links exactly the libraries it imports — the
|
|
// two .so files carry overlapping symbols and must never be linked together
|
|
// (until logos-delivery#3851 consolidates them).
|
|
package ffi
|