== ChatThrottleLib Intro ==
ChatThrottleLib is a small, embeddable library by Mikk of Bloodhoof-EU that
keeps outbound chat and addon communication from exceeding the output rate
limit in WoW that otherwise causes players to disconnect from the server.
It also has a number of features that will help you make your addon
communication run smoother!
Benefits of using ChatThrottleLib:
* Players do not get disconnected when your addon sends too much data
* You can easily prioritize your traffic in three priorities
* Communication to different peers is handled as individual flows. A long data
stream to "Alice" doesn't interrupt short bursts of traffic to "Bob".
* All AddOns using ChatThrottleLib use the same queues, so multiple addons
can't cause an overload. Priorities ensure that real-time traffic is still
real-time.
ChatThrottleLib does:
* Round-robin traffic shaping of different communication paths
* Prioritization of messages according to three predefined priorities:
"BULK", "NORMAL" and "ALERT"
* NO queueing of traffic needlessly. No lag introduced until it needs to be.
* Adaptive throttling according to traffic bypassing the library
* Adaptive throttling according to frame rate
== APIs ==
* ChatThrottleLib:SendChatMessage("prio", "prefix", "text", "chattype", "language", "destination"[, "queueName"]);
* ChatThrottleLib:SendAddonMessage("prio", "prefix", "text", "chattype"[, "target"[, "queueName"]]);
"prio" is one of "BULK", "NORMAL" and "ALERT".
"prefix" in :SendChatMessage() is only used for traffic shaping purposes
== How to embed ChatThrottleLib ==
Method 1:
* Copy ChatThrottleLib.lua into your addon directory
* Add "ChatThrottleLib.lua" to your .toc file
Method 2:
* Copy the entire ChatThrottleLib folder to your addon
* Add "ChatThrottleLib\ChatThrottleLib.xml" to your .toc file
You're done, and can now use ChatThrottleLib:SendChatMessage and ChatThrottleLib:SendAddonMessage to send your messages!
The library has built-in checks for if it has already been loaded, and avoids loading again if so.
If your addon has a newer version of the library than one that has already been loaded, it will replace the old version.
== More Information ==
* Download: http://www.wowinterface.com/downloads/info5207-ChatThrottleLib.html
* Docs: http://www.wowwiki.com/ChatThrottleLib
* SVN: http://svn.wowace.com/wowace/trunk/ChatThrottleLib
* beta: http://files.wowace.com/ChatThrottleLib
[Documentation for ChatThrottleLib v19, 2007-11-11]