15b08c1417
Added capability to dump AsyncWorkers' memory ( #1379 )
...
This now actually works with PHP 7.2 + latest pthreads, before it was too unstable.
2017-09-14 16:45:48 +01:00
aaa3b6e59a
Added explicit AsyncTask->storeLocal(), removed AsyncTask->__construct() object storage ( #1322 )
...
Far too often I see people using IDEs which generate the constructors for them and then accidentally unintentionally store things in the object store. This parent constructor behaviour is unexpected. If a developer wants to store something, they should now do so explicitly by calling storeLocal().
2017-09-10 20:31:28 +01:00
1d338bfdf9
Fixed uncaught exceptions during Task->onCancel() causing all kinds of nasty behaviour
...
including crashing the server on shutdown, preventing self-cancellation, and causing memory leaks
2017-09-02 19:28:51 +01:00
9902d29734
ServerScheduler::scheduleAsyncTask() returns the worker used ( #1312 )
2017-08-29 10:29:24 +01:00
7c212d3d53
Fix formatting issue in AsyncPool
2017-08-25 19:15:57 +01:00
d1852834de
Revert "Added capability to dump AsyncWorker memory"
...
This reverts commit eb4594348b
.
This is far too unstable with more than one worker thread.
2017-08-22 20:46:20 +01:00
eb4594348b
Added capability to dump AsyncWorker memory
2017-08-22 19:57:00 +01:00
17053389b0
Added memory limits for AsyncWorkers
2017-08-20 12:15:48 +01:00
57e7c3d91f
Missed one
2017-07-15 13:30:02 +01:00
2018ad6376
Merge master
2017-07-14 12:12:35 +01:00
b5790d19bf
Cleaned up MainLogger registration and declared a typehint
...
Remove null hint from MainLogger::getLogger() so static analysis doesn't complain everywhere
just make sure you register the logger before trying to use MainLogger::getLogger() on a different thread!
2017-07-14 11:39:04 +01:00
c3b8be3f60
and more typehints
2017-07-14 10:56:51 +01:00
46a2e6cbf8
Some breaking changes for plugins >:D
2017-07-14 08:52:27 +01:00
8fc1501e89
Moar typehints
2017-07-14 08:52:27 +01:00
2a7b736f18
Heap of bugfixes, cleanup and PHP 7 upgrades
2017-07-13 19:18:56 +01:00
9c9095060f
Register MainLogger on AsyncWorkers to make MainLogger::getLogger() usable in AsyncTasks
...
Threaded static properties aren't thread-local anymore in pthreads 3.1.7dev
2017-07-04 16:50:17 +01:00
a73c6f1861
Fixed some unnecessary FQNs in docs
2017-06-25 12:43:04 +01:00
e18a3ac933
Fixed UUID-related issues
2017-06-07 13:11:03 +01:00
481114281e
Server starts!
2017-06-07 12:53:16 +01:00
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
674394c4f5
Fixed undefined offset when retrieving something from the thread store that doesn't exist ( #919 )
2017-05-22 13:53:57 +08:00
568e2760f1
Collect workers when cancelling all tasks
2017-05-17 19:30:50 +01:00
00e6d6a6b1
Fixed AsyncTask memory leak ( #922 )
...
* Added PocketMine-TesterPlugin submodule with regression test
2017-05-17 15:43:44 +01:00
5a9b5db103
Better cURL API, use async in timings ( #834 )
...
* Improved cURL functions
* Created BulkCurlTask
* Use asynchronous cURL posting in /timings paste
Closes #509
2017-04-25 11:52:18 +01:00
6ece57e23e
Merge changes from master
2017-04-21 22:48:18 +01:00
1c7773c5f1
Visibility keyword before final or abstract keyword. ( #814 )
2017-04-13 20:58:53 +08:00
56990eb28b
MCPE protocol gets its own namespace
2017-03-08 20:28:39 +00:00
b28e38ab26
Move some exceptions out of utils into their relevant namespaces, move some Chunk methods to ChunkUtils for I/O, refactor "colour" -> "color"
2017-01-15 11:31:12 +00:00
1cb96d24ce
Some fixes, thanks PhpStorm
2017-01-04 11:29:24 +00:00
175dd0efa6
PhpStorm inspections
...
Fixed some minor bugs and dropped some obsolete code
pocketmine\level\generator namespace is ignored in this commit
2016-12-14 21:49:35 +00:00
da23568546
Disallow scheduling the same AsyncTask instance more than once
2016-11-20 01:12:38 +08:00
37ae760417
Fixed crashes after scheduleAsyncTaskToWorker() calls
2016-11-13 18:32:11 +08:00
ab4d6b1e36
Clarified that AsyncTask should not run for a long time
2016-11-13 18:14:41 +08:00
75fa2f1132
Fixed array progress crashing
...
Forgot to serialize them. They would be converted to Volatile, which is Threaded. Threaded objects still crash with progressUpdates.
2016-11-12 18:57:52 +08:00
d5881dbe83
Disallow Threaded objects to be passed as progress parameter
2016-11-12 18:33:25 +08:00
8404ce88bd
Fixed pthreads crashes with progressUpdates
2016-11-12 18:30:55 +08:00
7861822a0f
Fixed garbage AsyncTasks cannot be accessed
2016-11-12 17:47:07 +08:00
e6485c4734
Added AsyncTask progress update API
2016-11-12 17:31:59 +08:00
074583d104
Builtin thread-local object storage for AsyncTask ( #1 )
...
* Added AsyncTask::fetchLocal()
2016-11-06 22:02:53 +08:00
58ff381557
PhpStorm automated formatting ( #11 )
...
* PhpStorm reformatting
* Tuned PhpStorm reformatting
* Improved ItemIds and BlockIds formatting
* Tuned more PhpStorm reformatting
* Improved string concatenation
2016-10-03 19:05:48 +08:00
6fc435da0e
Imports rearrangement
2016-10-03 00:43:46 +08:00
7145e16bce
Fix getHandler() returns null on tasks ( #3 )
2016-09-30 19:19:59 +01:00
a2734f6dc0
Merged master into php7 to support 0.13.1
2016-01-22 17:36:45 +01:00
ddc140af5e
Updated to new pthreads version, updated RakLib
2015-09-27 13:37:27 +02:00
0bcf639a98
Changed how exceptions work and are logged, throw proper exceptions on tasks
2015-09-18 12:03:24 +02:00
8768b7fdbd
Merge remote-tracking branch 'origin/mcpe-0.12' into php7
2015-09-17 12:25:05 +02:00
ed559fdf98
Fixed not sending UUIDs properly
2015-09-15 12:23:15 +02:00
3ffdb8e552
Removed @deprecated classes, methods and properties, added some type hints
2015-09-12 17:10:11 +02:00
e137ac4c56
Base PHP7 work to make it "run" - READ NEXT LINES!
...
All plugins will need to bump the API if they want to use this.
NOTE THAT THIS IS NOT THE FINAL API 2.0.0 AND THAT THERE WILL BE MORE CHANGES.
To start updating, you might also want to read https://secure.php.net/manual/en/migration70.php and specifically https://secure.php.net/manual/en/migration70.incompatible.php
To compile PHP7 with some of the required dependencies, use https://gist.github.com/shoghicp/166ab26ce5cc7a390f45
ONLY LINUX IS TESTED, DO NOT ASK FOR OTHER PLATFORMS!
----- THIS VERSION IS NOT SUPPORTED -----
This version WILL crash randomly in unexpected places due to PHP7, pthreads, PocketMine or cosmic rays.
Handle with care, and store under direct sunlight for the best performance.
2015-09-10 21:29:29 +02:00
5621ab0c49
Updated some packets for 0.12, UUIDs, other stuff!
2015-08-02 01:22:36 +02:00