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