diff --git a/README.md b/README.md index 352bc77..b613772 100644 --- a/README.md +++ b/README.md @@ -290,3 +290,11 @@ The document has moved success ``` + +## Reference + +### Build tags + +- `debugheaplog`: All logging calls are enabled and all will print out heap information. Warning: Heavy cost on some TinyGo garbage collectors which do not cache the GC statistics +- `noslog`: All slog package logging calls omitted. +- `xnetdebug`: Packet capture printing to standard output enabled on `xnet.StackAsync` Ethernet and IP receive and send methods diff --git a/examples/min-working-example/main-mwe.go b/examples/min-working-example/main-mwe.go index 028f5c3..d67ada2 100644 --- a/examples/min-working-example/main-mwe.go +++ b/examples/min-working-example/main-mwe.go @@ -93,7 +93,7 @@ func run(ctx context.Context, stack *xnet.StackAsync) error { return makeMsgErr("resolving Router MAC", err) } stack.SetGatewayHardwareAddr(gateway) - berkstack := stack.StackBlocking(stackBackoff).StackGo(xnet.StackGoConfig{ + gostack := stack.StackBlocking(stackBackoff).StackGo(xnet.StackGoConfig{ ListenerPoolConfig: xnet.TCPPoolConfig{ PoolSize: tcpConnPoolSize, QueueSize: tcpPacketQueueSize, @@ -109,7 +109,7 @@ func run(ctx context.Context, stack *xnet.StackAsync) error { laddr := net.TCPAddrFromAddrPort(netip.AddrPortFrom(netip.AddrFrom4(results.AssignedAddr4), 80)) // raddr := net.TCPAddr{} // If active (client) connection then set raddr in which case a net.Conn type is returned. const sockstream = 0x1 - c, err := berkstack.Socket(ctx, "tcp", syscall.AF_INET, sockstream, laddr, nil) + c, err := gostack.Socket(ctx, "tcp", syscall.AF_INET, sockstream, laddr, nil) if err != nil { return makeMsgErr("creating AF_INET stream socket", err) } diff --git a/internal/debug_heaplog.go b/internal/debug_heaplog.go index 5815c87..9585d65 100644 --- a/internal/debug_heaplog.go +++ b/internal/debug_heaplog.go @@ -18,7 +18,7 @@ var ( ) func LogEnabled(l *slog.Logger, lvl slog.Level) bool { - return true + return logEnabled } func logAttrsAndAllocs(allocmsg string, l *slog.Logger, level slog.Level, msg string, attrs ...slog.Attr) { diff --git a/internal/debug_noheaplog.go b/internal/debug_noheaplog.go index 7cade96..6534ffa 100644 --- a/internal/debug_noheaplog.go +++ b/internal/debug_noheaplog.go @@ -10,14 +10,14 @@ import ( const HeapAllocDebugging = false func LogEnabled(l *slog.Logger, lvl slog.Level) bool { - return l != nil && l.Handler().Enabled(context.Background(), lvl) + return logEnabled && l != nil && l.Handler().Enabled(context.Background(), lvl) } // LogAttrs is a helper function that is used by all package loggers and that // can be switched out with the `debugheaplog` build tag for a non-allocating // logger that prints out when heap allocations occur. func LogAttrs(l *slog.Logger, level slog.Level, msg string, attrs ...slog.Attr) { - if l != nil { + if logEnabled && l != nil { l.LogAttrs(context.Background(), level, msg, attrs...) } } diff --git a/internal/debug_noslog.go b/internal/debug_noslog.go new file mode 100644 index 0000000..3b83116 --- /dev/null +++ b/internal/debug_noslog.go @@ -0,0 +1,5 @@ +//go:build noslog + +package internal + +const logEnabled = false diff --git a/internal/debug_yesslog.go b/internal/debug_yesslog.go new file mode 100644 index 0000000..2f4c912 --- /dev/null +++ b/internal/debug_yesslog.go @@ -0,0 +1,5 @@ +//go:build !noslog + +package internal + +const logEnabled = true