ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
send.h
Go to the documentation of this file.
1
21#pragma once
22
23#include "../../network/acip/transport.h"
24#include "../../network/acip/messages.h"
25#include "../../network/packet/packet.h" // For packet_type_t
26#include "../../asciichat_errno.h"
27#include <stdint.h>
28#include <stddef.h>
29#include <stdbool.h>
30
31// =============================================================================
32// Generic Packet Sending
33// =============================================================================
34
50 size_t payload_len, uint32_t client_id);
51
67 size_t *payload_len, void **alloc_buffer);
68
69// Video/ASCII frame functions moved to:
70// - acip_send_ascii_frame → lib/network/acip/server.h
71// - acip_send_image_frame → lib/network/acip/client.h
72
73// =============================================================================
74// Audio Sending
75// =============================================================================
76
86asciichat_error_t acip_send_audio_batch(acip_transport_t *transport, const float *samples, uint32_t num_samples,
87 uint32_t batch_count);
88
97asciichat_error_t acip_send_audio_opus(acip_transport_t *transport, const void *opus_data, size_t opus_len);
98
111asciichat_error_t acip_send_audio_opus_batch(acip_transport_t *transport, const void *opus_data, size_t opus_len,
112 const uint16_t *frame_sizes, uint32_t frame_count, uint32_t sample_rate,
113 uint32_t frame_duration);
114
115// =============================================================================
116// Control/Signaling
117// =============================================================================
118
126
134
135// Client control functions moved to lib/network/acip/client.h:
136// - acip_send_client_join, acip_send_client_leave
137// - acip_send_stream_start, acip_send_stream_stop
138// - acip_send_capabilities, acip_send_protocol_version
139//
140// Server control functions moved to lib/network/acip/server.h:
141// - acip_send_clear_console, acip_send_server_state
142
143// =============================================================================
144// Messages/Errors
145// =============================================================================
146
156
167 const char *message);
168
169// =============================================================================
170// ACDS (Discovery Server) Response Sending
171// =============================================================================
172
181
190
199
asciichat_error_t error_code
acip_session_joined_t
Definition acds.h:474
acip_session_created_t
Definition acds.h:269
acip_session_info_t
Definition acds.h:355
unsigned short uint16_t
Definition common.h:57
unsigned int uint32_t
Definition common.h:58
unsigned char uint8_t
Definition common.h:56
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:49
packet_type_t
Network protocol packet type enumeration.
Definition packet.h:286
asciichat_error_t acip_send_audio_opus(acip_transport_t *transport, const void *opus_data, size_t opus_len)
Send Opus-encoded audio packet.
Definition send.c:212
asciichat_error_t packet_receive_via_transport(acip_transport_t *transport, packet_type_t *type, void **payload, size_t *payload_len, void **alloc_buffer)
Receive a packet via transport with header parsing and validation.
Definition send.c:122
asciichat_error_t acip_send_ping(acip_transport_t *transport)
Send ping packet.
Definition send.c:271
asciichat_error_t acip_send_session_joined(acip_transport_t *transport, const acip_session_joined_t *response)
Send SESSION_JOINED response packet.
Definition send.c:390
asciichat_error_t acip_send_remote_log(acip_transport_t *transport, uint8_t log_level, uint8_t direction, const char *message)
Send remote log packet.
Definition send.c:338
asciichat_error_t acip_send_error(acip_transport_t *transport, uint32_t error_code, const char *message)
Send error message packet.
Definition send.c:301
asciichat_error_t acip_send_session_created(acip_transport_t *transport, const acip_session_created_t *response)
Send SESSION_CREATED response packet.
Definition send.c:374
asciichat_error_t acip_send_pong(acip_transport_t *transport)
Send pong packet.
Definition send.c:280
asciichat_error_t acip_send_audio_opus_batch(acip_transport_t *transport, const void *opus_data, size_t opus_len, const uint16_t *frame_sizes, uint32_t frame_count, uint32_t sample_rate, uint32_t frame_duration)
Send batched Opus-encoded audio frames.
Definition send.c:223
asciichat_error_t acip_send_audio_batch(acip_transport_t *transport, const float *samples, uint32_t num_samples, uint32_t batch_count)
Send audio batch packet.
Definition send.c:180
asciichat_error_t acip_send_session_info(acip_transport_t *transport, const acip_session_info_t *info)
Send SESSION_INFO response packet.
Definition send.c:382
asciichat_error_t packet_send_via_transport(acip_transport_t *transport, packet_type_t type, const void *payload, size_t payload_len, uint32_t client_id)
Send arbitrary packet via transport (generic packet sender)
Definition send.c:41
ClangTool/LibTooling compatibility shim for stdbool.h.
Transport instance structure.
Definition transport.h:214