README.md

== 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]