Commit graph

25 commits

Author SHA1 Message Date
VladimirMangos
5f2aef756a [10970] Implement mass mail send infrastructure.
It expected to be used in 2 case: some gameevent must send mails at start/end,
and this can be useful in game commands. Both case wil implemented in later commits.

* New MassMailMgr can accept tasks for send mass mails in safe way for map update threads context/etc.
* It work in way:
   - By provided race mask or more generic SQL query string in async query selected affected characters
   - At query result ready at next world tick update in safe common part of tick code some from mails
     from queued mas mail tasks send.
   - Amount mails limited MassMailer.SendPerTick confir option (10 by default). This done for prevent
     high server load/lags at send too many mails in one tick (mail send all existed characters in DB
     who match to seelction criteria)
   - Manager not persistant for server shutdowns so any not send mails in queue lost at shutdown.
     But with default setting 10K mail send in 20 secs (10000/50/10). Adding more safe execution
     for this case will make related code lot more slow and req. many DB tables and code support.
2011-01-06 06:10:15 +03:00
VladimirMangos
231c6d77ce [10969] Some cleanups in MailDraft API
* Use Set* names for cases when function replace old value by new (instead Add*)
* Prevent hidden MailDraft copy create becase if draft have items its can't be just shared
  and need preoprtly cloned, but item close is high price operation (guid use, DB tiuched and etc)
  So this must be explictly operation. In next commits will be added clone function for this.
* Some MailDraft overwrite by assign cases rewrited to more clean way.
2011-01-06 02:11:21 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
Quriq14
c7205a6837 [10862] Fixed not show and lost mail items in returned expire mails.
Also
* Use typename for mail item info vector.
* Include tools/characters_mail_items_cleanup.sql for cleanup lost mail items.
  It also included as sql update part. Sql update also fix receiver for stored
  in DB expired mail items.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-12 09:10:08 +03:00
gc
47bdcd1595 [10804] Restore build at *nix.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-02 00:29:51 +03:00
VladimirMangos
938622bedc [10802] Use ObjectGuid in Mail code.
Some catched bugs fixed in mixed uint32/guid values using cases.
2010-12-01 15:11:08 +03:00
VladimirMangos
5f44c4da21 [10363] More wide use ObjectGuid in way remove MAKE_NEW_GUID uses.
Also
* Fixed some amount wrong uses low guids as full player guids.
* Add private without body ObjectGuid(uint32 const&) for catch wrong assigns low guids to ObjectGuid.
  In some cases need assign "0" guid, then use ObjectGuid() instead.
* Fixed .pdump commands work.
2010-08-17 08:22:28 +04:00
VladimirMangos
c64a2e8c84 [9730] Mail send related fixes in recent code.
* Avoid use explicit MailReciever/MailSender where not need.
  Types specially added for autoconvertion from common cases.

* Prevent allow copy text auction mails. It anyway store encoded data.
  Same for some another non-player mails.
2010-04-12 05:07:47 +04:00
tomrus88
561c340f95 Fixed typo in mail query.
Fixed SMSG_ITEM_TEXT_QUERY_RESPONSE.
Other misc fixes.
2010-03-25 19:46:26 +03:00
tomrus88
d4647bbeaa Dropped itemtextid field from mail table. 2010-03-25 15:33:22 +03:00
tomrus88
50c96da112 Some work on mail/auction. 2010-03-25 13:19:21 +03:00
VladimirMangos
a27ff3e79d [9602] Simplify creating mail draft with content text, cleanup includes. 2010-03-18 12:10:47 +03:00
Gotisch
34c51c7bf6 [9406] Documentation mail system.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2010-02-18 06:41:31 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
VladimirMangos
959e7640e2 [8771] Fixed *nix build and small code cleanup.
Thanks to balrok for reporting, and help in resolve/test.
2009-11-04 11:05:51 +03:00
VladimirMangos
d009994f59 [8768] Rewrite code for prepare and send mails.
* Move send functions to new MailDraft class from WorldSession
* Simplify use different args combinations used in SendMailTo
  by groupping its by functionality in Helper classes. This also will prevent wrong way use args combinations.
2009-11-03 17:34:23 +03:00
VladimirMangos
50e80d67f9 [8767] Move one more function code to .cpp for restore build. 2009-11-02 21:42:55 +03:00
VladimirMangos
e79af61266 [8766] Restore build at Unix/Linux after recent commits. 2009-11-02 18:35:43 +03:00
VladimirMangos
d5dad82f3d [8764] Simplify code for mail items send. Avoid packet unread spam at errors. 2009-11-02 15:58:12 +03:00
VladimirMangos
94205e5733 [8757] Remove unused item_slot field, avoid spam at non comlete packet read. 2009-10-31 13:48:20 +03:00
balrok
d7e01c3e16 [8611] added new 322 value to MailStationery
also changed numbers from hexadecimal to decimal
2009-10-09 22:47:10 +02:00
VladimirMangos
d2e25491a2 [7898] Improve client error output at different mail send errors, cleanup code. 2009-05-27 01:14:17 +04:00
zhenya
8144f30199 [7730] Some optimizantion and code style.
Signed-off-by: AlexDereka <dereka.alex@gmail.com>
2009-04-29 01:05:21 +04:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
TheLuda
800ee76535 Imported MaNGOS revision 6767 from http://mangos.svn.sourceforge.net/svnroot/mangos/trunk/ 2008-10-14 00:29:20 +02:00