ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
session_log_buffer.h
Go to the documentation of this file.
1#pragma once
2
18
19#include <stddef.h>
20#include <stdint.h>
21#include <stdbool.h>
22
23// Configuration
24/*
25 * Keep roughly 16 MiB of formatted logs in the interactive history. The
26 * former 8 MiB ring was exhausted by a few seconds of verbose transport logs,
27 * making the log viewer appear to scroll while silently losing the requested
28 * history.
29 */
30#define SESSION_LOG_BUFFER_SIZE 16384
31#define SESSION_LOG_LINE_MAX 1024
32
43
48
58
67
77
87void session_log_buffer_append(session_log_buffer_t *buf, const char *message);
88
100size_t session_log_buffer_get_recent(session_log_buffer_t *buf, session_log_entry_t *out_entries, size_t max_count);
unsigned long long uint64_t
Definition common.h:63
struct session_log_buffer session_log_buffer_t
Thread-safe fixed-size history ring for session-screen log lines.
session_log_buffer_t * session_log_buffer_create(void)
Create a new session log buffer instance.
void session_log_buffer_clear(session_log_buffer_t *buf)
Clear all log entries from buffer.
void session_log_buffer_append(session_log_buffer_t *buf, const char *message)
Append a log message to the buffer.
#define SESSION_LOG_LINE_MAX
size_t session_log_buffer_get_recent(session_log_buffer_t *buf, session_log_entry_t *out_entries, size_t max_count)
Get recent log entries from buffer.
void session_log_buffer_destroy(session_log_buffer_t *buf)
Cleanup session log buffer instance.
Thread-safe fixed-size history ring for session-screen log lines.
One formatted session log line and its monotonic history sequence.
char message[1024]
Formatted log message (may include ANSI colors).
uint64_t sequence
Sequence number (monotonic, for ordering).