ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
include/ascii-chat/session/session_log_buffer.h
Go to the documentation of this file.
1#pragma once
2
19#include <stddef.h>
20#include <stdint.h>
21#include <stdbool.h>
22
23// Configuration
24#define SESSION_LOG_BUFFER_SIZE 8192
25#define SESSION_LOG_LINE_MAX 1024
26
30typedef struct {
31 char message[SESSION_LOG_LINE_MAX];
32 uint64_t sequence;
34
39
49
58
68
78void session_log_buffer_append(session_log_buffer_t *buf, const char *message);
79
91size_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:59
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.
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.
ClangTool/LibTooling compatibility shim for stdbool.h.
Internal circular buffer structure.
Single log entry with sequence number for ordering.