[ENet-discuss] ENet 1.2.2 work-in-progress

Lee Salzman lsalzman1 at cox.net
Thu May 13 19:28:47 PDT 2010


Just so we're clear: this is NOT a release announcement. Didn't want to 
get your hopes up. :)

But recently I added some features to ENet CVS that people were bugging 
me about, so I thought I'd just tell you all what they were if you were 
in need of them.  Or maybe you just want to test them out and make sure 
they're stable (which they should be as far as I could test so far).

1. I fixed some places in the event dispatch where it was walking over 
all the channels to find appropriates packets to hand off to the user, 
such that is basically no longer does evil stuff like this. In other 
words: there is no longer any performance penalty for using high numbers 
of channels, per se, although it still needs to allocate memory for each 
channel, for each client, when you first create the host. But the 
dispatching costs of using them are gone.

2. I added a no_memory callback that allows you to override ENet's 
standard out-of-memory behavior, which was simply to call abort. Someone 
simply wanted the API functions to simply return errors in this case, 
and I revised some internals so that you can safely make a null 
no_memory handler and get that behavior. The default is just to call 
abort, which keeps ENet behaving as it always did, unless you decide to 
supply that callback.

3. I used the packed attribute on some sensitive protocol structures 
that were causing some protocol incompatibilities on platforms like 
ARM+GCC, which appeared to use much different alignment rules than what 
x86 and friends were.

4. Nathan Brinks contributed a less crufty autoconf build system.

That out of the way, are there any not too difficult things people would 
like to see in 1.2.2?

Lee



More information about the ENet-discuss mailing list