enet
Functions
ENet host functions

Functions

int enet_host_compress_with_range_coder (ENetHost *host)
 Sets the packet compressor the host should use to the default range coder. More...
 
ENetHostenet_host_create (const ENetAddress *address, size_t peerCount, size_t channelLimit, enet_uint32 incomingBandwidth, enet_uint32 outgoingBandwidth)
 Creates a host for communicating to peers. More...
 
void enet_host_destroy (ENetHost *host)
 Destroys the host and all resources associated with it. More...
 
ENetPeerenet_host_connect (ENetHost *host, const ENetAddress *address, size_t channelCount, enet_uint32 data)
 Initiates a connection to a foreign host. More...
 
void enet_host_broadcast (ENetHost *host, enet_uint8 channelID, ENetPacket *packet)
 Queues a packet to be sent to all peers associated with the host. More...
 
void enet_host_compress (ENetHost *host, const ENetCompressor *compressor)
 Sets the packet compressor the host should use to compress and decompress packets. More...
 
void enet_host_channel_limit (ENetHost *host, size_t channelLimit)
 Limits the maximum allowed channels of future incoming connections. More...
 
void enet_host_bandwidth_limit (ENetHost *host, enet_uint32 incomingBandwidth, enet_uint32 outgoingBandwidth)
 Adjusts the bandwidth limits of a host. More...
 
void enet_host_bandwidth_throttle (ENetHost *host)
 
void enet_host_flush (ENetHost *host)
 Sends any queued packets on the host specified to its designated peers. More...
 
int enet_host_check_events (ENetHost *host, ENetEvent *event)
 Checks for any queued events on the host and dispatches one if available. More...
 
int enet_host_service (ENetHost *host, ENetEvent *event, enet_uint32 timeout)
 Waits for events on the host specified and shuttles packets between the host and its peers. More...
 

Detailed Description

Function Documentation

void enet_host_bandwidth_limit ( ENetHost host,
enet_uint32  incomingBandwidth,
enet_uint32  outgoingBandwidth 
)
Parameters
hosthost to adjust
incomingBandwidthnew incoming bandwidth
outgoingBandwidthnew outgoing bandwidth
Remarks
the incoming and outgoing bandwidth parameters are identical in function to those specified in enet_host_create().
void enet_host_broadcast ( ENetHost host,
enet_uint8  channelID,
ENetPacket packet 
)
Parameters
hosthost on which to broadcast the packet
channelIDchannel on which to broadcast
packetpacket to broadcast

References enet_packet_destroy(), and enet_peer_send().

void enet_host_channel_limit ( ENetHost host,
size_t  channelLimit 
)
Parameters
hosthost to limit
channelLimitthe maximum number of channels allowed; if 0, then this is equivalent to ENET_PROTOCOL_MAXIMUM_CHANNEL_COUNT
int enet_host_check_events ( ENetHost host,
ENetEvent event 
)
Parameters
hosthost to check for events
eventan event structure where event details will be placed if available
Return values
>0 if an event was dispatched
0if no events are available
<0 on failure

References ENET_EVENT_TYPE_NONE.

void enet_host_compress ( ENetHost host,
const ENetCompressor compressor 
)
Parameters
hosthost to enable or disable compression for
compressorcallbacks for for the packet compressor; if NULL, then compression is disabled

References _ENetCompressor::context.

Referenced by enet_host_compress_with_range_coder().

int enet_host_compress_with_range_coder ( ENetHost host)
Parameters
hosthost to enable the range coder for
Returns
0 on success, < 0 on failure

References _ENetCompressor::context, and enet_host_compress().

ENetPeer* enet_host_connect ( ENetHost host,
const ENetAddress address,
size_t  channelCount,
enet_uint32  data 
)
Parameters
hosthost seeking the connection
addressdestination for the connection
channelCountnumber of channels to allocate
datauser data supplied to the receiving host
Returns
a peer representing the foreign host on success, NULL on failure
Remarks
The peer returned will have not completed the connection until enet_host_service() notifies of an ENET_EVENT_TYPE_CONNECT event for the peer.

References ENET_HOST_TO_NET_16, and ENET_HOST_TO_NET_32.

ENetHost* enet_host_create ( const ENetAddress address,
size_t  peerCount,
size_t  channelLimit,
enet_uint32  incomingBandwidth,
enet_uint32  outgoingBandwidth 
)
Parameters
addressthe address at which other peers may connect to this host. If NULL, then no peers may connect to the host.
peerCountthe maximum number of peers that should be allocated for the host.
channelLimitthe maximum number of channels allowed; if 0, then this is equivalent to ENET_PROTOCOL_MAXIMUM_CHANNEL_COUNT
incomingBandwidthdownstream bandwidth of the host in bytes/second; if 0, ENet will assume unlimited bandwidth.
outgoingBandwidthupstream bandwidth of the host in bytes/second; if 0, ENet will assume unlimited bandwidth.
Returns
the host on success and NULL on failure
Remarks
ENet will strategically drop packets on specific sides of a connection between hosts to ensure the host's bandwidth is not overwhelmed. The bandwidth parameters also determine the window size of a connection which limits the amount of reliable packets that may be in transit at any given time.

References enet_peer_reset().

void enet_host_destroy ( ENetHost host)
Parameters
hostpointer to the host to destroy

References enet_peer_reset().

void enet_host_flush ( ENetHost host)
Parameters
hosthost to flush
Remarks
this function need only be used in circumstances where one wishes to send queued packets earlier than in a call to enet_host_service().

References enet_time_get().

Referenced by enet_peer_disconnect(), and enet_peer_disconnect_now().

int enet_host_service ( ENetHost host,
ENetEvent event,
enet_uint32  timeout 
)
Parameters
hosthost to service
eventan event structure where event details will be placed if one occurs if event == NULL then no events will be delivered
timeoutnumber of milliseconds that ENet should wait for events
Return values
>0 if an event occurred within the specified time limit
0if no event occurred
<0 on failure
Remarks
enet_host_service should be called fairly regularly for adequate performance

References ENET_EVENT_TYPE_NONE, and enet_time_get().