22#define PROTOCOL_COUNT 2
23#ifndef MAX_PACKET_SIZE
24#define MAX_PACKET_SIZE 1024
63 uint8_t tcp_rx_buf[MAX_PACKET_SIZE * 2];
106void connection_manager_remove_peer(
connection_manager_t* connection_manager,
const char* peer_id);
116int connection_manager_send_to_peer(
connection_manager_t* connection_manager,
const char* peer_id,
const void* data,
int len);
126int connection_manager_send_to_peer_udp(
connection_manager_t* connection_manager,
const char* peer_id,
const void* data,
int len);
135int connection_manager_broadcast(
connection_manager_t* connection_manager,
const void* data,
int len);
144int connection_manager_connect_to_server(
connection_manager_t* connection_manager,
const char* ip, uint16_t port);
175int connection_manager_set_peer_udp_remote_port_by_id(
connection_manager_t* connection_manager,
const char* peer_id, uint16_t remote_udp_port);
184peer_t* find_peer_by_addr(
connection_manager_t* connection_manager,
const struct sockaddr_in* addr, socket_type_t socket_type);
Defines the NetworkedEntity component used for network replication.
uint32_t interest_mask_t
Bitmask type for representing interest groups (up to 32 groups).
Definition networked_entity.h:22
Manages all active network connections (peers) for a client or server.
Definition connection_manager.h:74
void(* on_connect)(void *, peer_t *)
Definition connection_manager.h:83
net_socket_t listen_sockets[PROTOCOL_COUNT]
Definition connection_manager.h:77
bool is_server
Definition connection_manager.h:78
peer_t peers[MAX_PEERS]
Definition connection_manager.h:75
void(* on_disconnect)(void *, peer_t *)
Definition connection_manager.h:84
int peer_count
Definition connection_manager.h:76
void * user_data
Definition connection_manager.h:79
void(* on_receive)(void *, peer_t *, const void *, int)
Definition connection_manager.h:82
Represents a network socket. This struct encapsulates the socket's file descriptor,...
Definition net_socket.h:33
Represents the client-server network architecture implementation. This struct contains the core compo...
Definition network_cs.h:18
Represents a connected network peer.
Definition connection_manager.h:45
interest_mask_t interest_mask
Bitmask of interest groups for this peer.
Definition connection_manager.h:60
struct sockaddr_in addr_tcp
Definition connection_manager.h:47
net_socket_t net_sockets[PROTOCOL_COUNT]
Definition connection_manager.h:49
struct sockaddr_in addr_udp
Definition connection_manager.h:48
bool udp_ready
Definition connection_manager.h:51
bool is_connected
Definition connection_manager.h:50
The protocol handler structure. Manages the state for incoming and outgoing network packets,...
Definition protocol_handler.h:62