Bindings for [[ ENet ; https://github.com/lsalzman/enet ]].

Collection Info

View Source
Collection
vendor
Path
ENet
Entries
160

Source Files

Constants

45

BUFFER_MAXIMUM #

Source
BUFFER_MAXIMUM :: 1 + 2 * PROTOCOL_MAXIMUM_PACKET_COMMANDS

HOST_BANDWIDTH_THROTTLE_INTERVAL #

Source
HOST_BANDWIDTH_THROTTLE_INTERVAL :: 1000

HOST_DEFAULT_MAXIMUM_PACKET_SIZE #

Source
HOST_DEFAULT_MAXIMUM_PACKET_SIZE :: 32 * 1024 * 1024

HOST_DEFAULT_MAXIMUM_WAITING_DATA #

Source
HOST_DEFAULT_MAXIMUM_WAITING_DATA :: 32 * 1024 * 1024

HOST_RECEIVE_BUFFER_SIZE #

Source
HOST_RECEIVE_BUFFER_SIZE :: 256 * 1024

PEER_DEFAULT_PACKET_THROTTLE #

Source
PEER_DEFAULT_PACKET_THROTTLE :: 32

PEER_DEFAULT_ROUND_TRIP_TIME #

Source
PEER_DEFAULT_ROUND_TRIP_TIME :: 500

PEER_FREE_UNSEQUENCED_WINDOWS #

Source
PEER_FREE_UNSEQUENCED_WINDOWS :: 32

PEER_PACKET_LOSS_INTERVAL #

Source
PEER_PACKET_LOSS_INTERVAL :: 10000

PEER_PACKET_THROTTLE_ACCELERATION #

Source
PEER_PACKET_THROTTLE_ACCELERATION :: 2

PEER_PACKET_THROTTLE_COUNTER #

Source
PEER_PACKET_THROTTLE_COUNTER :: 7

PEER_PACKET_THROTTLE_DECELERATION #

Source
PEER_PACKET_THROTTLE_DECELERATION :: 2

PEER_PACKET_THROTTLE_INTERVAL #

Source
PEER_PACKET_THROTTLE_INTERVAL :: 5000

PEER_RELIABLE_WINDOW_SIZE #

Source
PEER_RELIABLE_WINDOW_SIZE :: 0x1000

PEER_UNSEQUENCED_WINDOW_SIZE #

Source
PEER_UNSEQUENCED_WINDOW_SIZE :: 1024

PROTOCOL_MAXIMUM_CHANNEL_COUNT #

Source
PROTOCOL_MAXIMUM_CHANNEL_COUNT :: 255

PROTOCOL_MAXIMUM_FRAGMENT_COUNT #

Source
PROTOCOL_MAXIMUM_FRAGMENT_COUNT :: 1024 * 1024

PROTOCOL_MAXIMUM_PACKET_COMMANDS #

Source
PROTOCOL_MAXIMUM_PACKET_COMMANDS :: 32

PROTOCOL_MAXIMUM_WINDOW_SIZE #

Source
PROTOCOL_MAXIMUM_WINDOW_SIZE :: 65536

PROTOCOL_MINIMUM_CHANNEL_COUNT #

Source
PROTOCOL_MINIMUM_CHANNEL_COUNT :: 1

PROTOCOL_MINIMUM_WINDOW_SIZE #

Source
PROTOCOL_MINIMUM_WINDOW_SIZE :: 4096

VERSION #

Source
VERSION :: (u32(VERSION_MAJOR) << 16) | (u32(VERSION_MINOR) << 8) | u32(VERSION_PATCH)

Odin does not have "macros" or compile-time evaluation of functions, so the following is just the same as. VERSION :: VERSION_CREATE(VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH);

Types

45

Procedures

70

host_bandwidth_limit #

Source
host_bandwidth_limit :: proc "c" (host: ^Host, incomingBandwidth: u32, outgoingBandwidth: u32) ---

host_compress_with_range_coder #

Source
host_compress_with_range_coder :: proc "c" (host: ^Host) -> i32 ---

HOST_TO_NET_16 #

Source
HOST_TO_NET_16 :: proc "contextless" (value: u16) -> u16 {…}

Network byte order is always Big Endian. Instead of using the method ENet uses (leveraging {n,h}to{n,h}{s,l}), we can just use Odin's endianess types to get the correct byte swaps, if any.

peer_throttle_configure #

Source
peer_throttle_configure :: proc "c" (peer: ^Peer, interval: u32, acceleration: u32, deceleration: u32) ---

VERSION_CREATE #

Source
VERSION_CREATE :: proc "contextless" (major, minor, patch: u8) -> u32 {…}