2#include "connection_manager.h"
11typedef void (*on_receive_func_t)(
const struct sockaddr_in *sender_addr,
const void *data,
int len);
19} network_architecture_type_t;
25 network_architecture_type_t
type;
35 void (*on_peer_connected)(
void*
user_data, peer_t* peer);
36 void (*on_peer_disconnected)(
void*
user_data, peer_t* peer);
37 void (*on_packet_received)(
void*
user_data, peer_t* peer,
const void* data,
int len);
38 void (*on_client_input)(
void*
user_data, peer_t* from, entity_t entity_id, uint8_t cmd,
const void* extra, uint16_t extra_len);
48 network_architecture_type_t type;
82ECSNET_API
bool network_architecture_connect_to_server(
network_architecture_t* architecture,
const char* ip_address, uint16_t port);
92ECSNET_API
bool network_architecture_send_to_peer(
network_architecture_t* architecture, uint32_t peer_id,
const void* data,
int len);
103ECSNET_API
bool network_architecture_send_entity_update(
network_architecture_t* architecture, uint32_t peer_id, entity_t entity_id,
const void* component_data,
int data_len);
112ECSNET_API
bool network_architecture_broadcast(
network_architecture_t* architecture,
const void* data,
int len);
Manages all active network connections (peers) for a client or server.
Definition connection_manager.h:74
Internal structure representing the ECS world state. This holds:
Definition ecs_internal.h:44
Structure for configuring the network architecture.
Definition network_architecture.h:24
uint16_t tcp_port
Definition network_architecture.h:29
uint16_t port
Definition network_architecture.h:27
uint16_t udp_port
Definition network_architecture.h:30
const char * ip_address
Definition network_architecture.h:26
network_architecture_type_t type
Definition network_architecture.h:25
void * user_data
Definition network_architecture.h:39
bool is_server
Definition network_architecture.h:28
float ecs_sync_hz
Definition network_architecture.h:32
Represents the opaque network architecture structure. This struct serves as a wrapper that holds a po...
Definition network_architecture.h:47
Represents a connected network peer.
Definition connection_manager.h:45