* Use std::function as callback (methods, lamdas & std::bind).
* Uses std::chrono::duration as duration type (Milliseconds, Seconds...)
- With c++11 user defined literals we could just write "11s" for example (MSVS 2015, gcc & clang).
* Provides a lot of overloads for easier usage:
- Static durations or random durations between min and max.
- Named (with group ids - group id 0 is possible) or anonymous tasks.
- Asynchronous tasks.
* Is adapted to the current needs of scripting:
- Repeat tasks through the TaskContext
- Schedule new tasks from the context.
- Provides access to the times repeat counter of a task,
this will help to schedule multi step events (dialogs for example).
See https://gist.github.com/Naios/6d143538abdc3d32fd2b for usage examples.
Try to log STACK_OVERFLOW crashes by allocating log buffer on the heap which should still be in a valid state with a stack overflow exception.
This will probably still not produce a complete crash report with details about all stackframes.
(cherry picked from commit bed88e0dd475af5b73cea03821f7fb7cb9ddce9d)
Core/Networking: Fixed deadlock in HandlePing if the client is about to be kicked for overspeed pings
(cherry picked from commit 3da0f7e40920b652d2222fa88dbb4b516d24725d)
Core/Networking: Cleanup CloseSocket calls from read failures in WorldSocket
(cherry picked from commit 18343a7309fbf53a3509749c0a5ca1f8ea273c57)
Conflicts:
src/server/game/Server/WorldSocket.cpp
Ref #14474
* It let ide's (like vs) display the source tree.
* Disabled by default.
* Soft requirement is cmake >= 2.8.12 .
* Offers 2 modes: flat & hierarchical.
* For detailed description see #14471
* Thanks @click for help and advises.
* Closes#14471
* Also use proper errno instead of 0 when reconnecting.
* Thanks @et65 for reporting
* ref #14139
(cherry picked from commit 47410157b1d1e51062732696ad5f457a69019ef4)
* this also fixes non whitespace seperated timestamps in logs after 95ebe4f31cba6b4772cfd19 @Aokromes
* remove an unnecessary stringstream in Log::outCommand
* delete copy constructor of LogMessage to prevent unwanted copies
(cherry picked from commit a2e280c8a8478bbe0652c1850b1a435abba79f93)
* This will save you from loosing your update history if you use a repository in bad state (revision or branch) by mistake.
* Also turned 1 error message into a warning
(cherry picked from commit 966282fbed24a0d0cf8cb3e05b1849c3e6a0d1d6)
(cherry picked from commit 3ad7776d5061308d3e2b4ff9e3cbf67d48bffdd6)
* Thanks @Shauren for pointing out.
* Also removes an invalid argument thanks @jackpoz for noticing.
(cherry picked from commit 8e48ef7863c5018aa185913ce6a616e46ef5b17e)
Make sure you re-run cmake, because boost::iostreams was added as dependency.
Maybe you need to install libboost-iostreams1.55-dev on unix as well.
Import every update manual until (included) those INSERT IGNORE updates for each database.
Thanks DDuarte and Shauren for your amazing ideas, help and advises.
In hope that nobody gets a "Your database structure is not up to date..." anymore ,-)
(cherry picked from commit 352012e53173372ebc82898e1b6854c983b01b25)
(cherry picked from commit 1f7f9feafc3f5017d617634ae993d2cdf4430920)
For 3.3.5:
* Synchronized ConfigureBoost.cmake with 6.x, libboost-filesystem1.55-dev also added as dependency!
Signed-off-by: Naios <naios-dev@live.de>
Signed-off-by: Nayd <dnpd.dd@gmail.com>
* Either inefficient or wrong usage of string::find(). string::compare() will
be faster if string::find's result is compared with 0, because it will not scan the whole string.
If your intention is to check that there are no findings in the string,
you should compare with std::string::npos.
* C-style pointer casting detected. C++ offers four different kinds of casts as replacements:
static_cast, const_cast, dynamic_cast and reinterpret_cast.
(cherry picked from commit 8882a6ca78e90d2980a3cd8d53acea9d2137f8b8)