Files
utun2/tools/chatgui-android/jni_bridge/android_udp_log.h
T
evgeny 0216b0bf50 android: utun shutdown diagnostics + non-blocking stop + logreceiver doc
- instance_lite: cleanup moved to uasync thread (self-detach), events on start/stop
- udp_log: cancel_timer before uasync_destroy, flush on stop, stopping flag
- jni_bridge: fixed UDP stop order (cancel_timer → destroy → flush)
- instance_lite: u_report_unfreed_blocks at all shutdown paths
- chat_event: CHAT_EVT_SERVICE_STARTED/STOPPED for GUI notifications
- AGENTS: logreceiver section
2026-07-28 17:06:09 +03:00

34 lines
923 B
C

/*
* 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 */