/* * android_udp_log.h — non-blocking UDP log sender for Android * * Thread-safe buffer with non-blocking send. * Flushes at 16KB threshold or 200ms timer. */ #ifndef ANDROID_UDP_LOG_H #define ANDROID_UDP_LOG_H #ifdef __cplusplus extern "C" { #endif /* Configure target. ua may be NULL (delayed init, will retry on write). * Call from ANY thread. Posts timer setup to uasync event loop. */ void udp_log_set_target(const char* ip, int port); /* Write log line to buffer. Non-blocking send if threshold reached. * Thread-safe — call from any thread (bridge_debug_hook). */ void udp_log_write(const char* data, int len); /* Cancel flush timer (call before uasync_destroy, while ua is alive). */ void udp_log_cancel_timer(void); /* Flush buffer, close socket. Call after instance shutdown. */ void udp_log_stop(void); void udp_trampoline(void* arg); #ifdef __cplusplus } #endif #endif /* ANDROID_UDP_LOG_H */