summaryrefslogtreecommitdiffstats
path: root/core/debugger/remote_debugger_peer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* Remove NO_THREADS fallback code, Godot 4 requires thread supportRémi Verschelde2022-10-031-7/+1
| | | | | This also removes `OS::can_use_threads` from the public API since it's always true.
* Merge pull request #59582 from Faless/net/4.x_tcp_explicit_pollRémi Verschelde2022-04-271-2/+4
|\
| * [Net] Make StreamPeerTCP::_poll_connection explicit.Fabio Alessandrelli2022-03-271-2/+4
| | | | | | | | | | | | No longer hacked into `get_status` and renamed to `poll`. The old `poll` (for *nix `poll`, win `select`) is now called `wait`.
* | Fix some issues found by cppcheck.bruvzg2022-04-061-2/+2
|/
* String: Add contains().Anilforextra2022-02-041-1/+1
|
* Merge pull request #57526 from tavurth/bugfix/high-macos-cpu-usageRémi Verschelde2022-02-021-1/+2
|\
| * Increase RemoteDebuggerPeerTCP poll to 6.9msWill Whitty2022-02-011-1/+2
| | | | | | | | | | Fix high CPU usage on MacOS by reverting the polling for Network debugging to match 144hz refresh rate.
* | Vectors: Use clear() and has().Anilforextra2022-02-021-2/+2
|/ | | | | | Use clear() instead of resize(0). Use has() instead of "find(p_val) != -1".
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio2021-05-061-1/+1
|
* [Net] Make debugger peer less CPU intensive.Fabio Alessandrelli2021-03-161-1/+6
| | | | | | | | | | | | Make sure that RemoteDebuggerPeer wait at least 100us between polls (effectively forcing a min tick of 100 microseconds). This greatly improve performances (the call to poll was useless since during low traffic, writes would always be available, and during high traffic, reads would always be available, effectively making it a busy-waiting loop). We could further improve this, by separating the two polls, and adjust the min tick based on load, but this is most likely more than enough already without sacrificing too much on high loads.
* Modernize ThreadPedro J. Estébanez2021-01-291-8/+4
| | | | | | | | | - Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Remove String::find_last (same as rfind)Stijn Hinlopen2020-07-031-1/+1
|
* Style: Remove unnecessary semicolons from `core`Rémi Verschelde2020-05-191-3/+3
| | | | | | | | | | Semicolons are not necessary after function definitions or control flow blocks, and having some code use them makes things inconsistent (and occasionally can mess up `clang-format`'s formatting). Removing them is tedious work though, I had to do this manually (regex + manual review) as I couldn't find a tool for that. All other code folders would need to get the same treatment.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-5/+9
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-4/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Add support for multiple RemoteDebuggerPeer(s).Fabio Alessandrelli2020-05-121-6/+8
| | | | | It is now possible to register protocol handlers (default tcp://) to support additional debugging communication layers (e.g. websocket).
* Replace NULL with nullptrlupoDharkael2020-04-021-2/+2
|
* Refactor ScriptDebugger.Fabio Alessandrelli2020-03-081-0/+242
EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.