Advertisement

TNL version 1.5.0 now available

Started by February 23, 2005 07:37 PM
2 comments, last by gcs584 19 years, 11 months ago
Hi all, Just a quick note to let you know that a new version of the Torque Network Library has been released for download from www.opentnl.org. If you haven't checked out TNL yet, now might be a good time. TNL has a boatload of features specifically geared to make networked games that rock. Even if you're not interested in using the library, the overview documentation at opentnl.org contains a summary of everything that we've learned about making networked games over the last 8 years. This version of TNL introduces many bug fixes, some new features and a much enhanced RPC mechanism. Some of the underlying BitStream representations of the RPC code changed, so RPC calls containing StringTableEntries and Vectors will not be compatible with code running on prior incarnations of the library. Also, due to the new template code, support for Visual C++ 6.0 and gcc versions below 3.3 has been dropped. Changes: Added thread-related classes - Semaphore, Mutex, ThreadStorage, Thread, ThreadQueue Added Base16 encoding and decoding to the ByteBuffer class Added MD5 hash sum computation to the ByteBuffer class Fixed NetEvent class count bug on EventConnection startup Fixed NetEvent post fail when not connected bug Added a quicker ping/ack on an adaptive connection if it has unacked sent packets Added an isLocal flag to the connection parameters for local connections Added a RefPtr<> to hang onto a connection before dispatching a packet to it in order to prevent a crash when a packet causes a disconnect Fixed net string table bug on lookup where the lookup string is longer than the lookup length Added saved hashes to improve performance of net string table Fixed NULL free list entry string table bug Fixed string not removed from hash table bug Fixed endian bug in symmetric cipher counter initialization Added support for TCP socket addresses Added support for TCP streams send and recv Added new template based RPC marshalling for easier type extension and compatibility (tossed all the asm RPC code)
top notch Mark, per the norm.
"Let Us Now Try Liberty"-- Frederick Bastiat
Advertisement
Thanks :)

I ended up being really happy with how the new template RPC stuff turned out. It's now to the point where users of the lib can define custom structs, and as long as there's a Types::read and Types::write function declared for that struct it will just automagically get marshalled/unmarshalled into the bit stream. Plus I got to ditch a bunch of brittle assembly language code. Whee!

Oh, and the ThreadQueue is really cool too :) It allows you to set up a bunch of worker threads, and when the specially marked functions are called from the main thread they will execute on the first available worker thread, and when they are called from the worker threads, they will execute on the main thread. Perfect for database access.

Hi markf_gg,

The library is very awesome, I must admit. I sent you a PM; could you please check it out?

Thanks,

GCS584

This topic is closed to new replies.

Advertisement