Repository navigation
feat(libSceNpWebApi2): implement sceNpWebApi2GetMemoryPoolStats - #3296
Conversation
|
Thank you for your interest in the project! We are sorry, but we cannot accept more PRs while we work through the existing backlog. This PR has been automatically closed and labeled "intake paused". This is not a judgment of the quality of your changes. |
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
PPSA21703's Unity PSN plugin imports sceNpWebApi2GetMemoryPoolStats (Xweb+naPZ8Y), so the title did not start. sceNpWebApi2Initialize now records the pool size of each context and sceNpWebApi2Terminate forgets it. The statistics report that size with no peak or current use, as sceHttp2GetMemoryPoolStats does, since nothing is allocated from the pool. A null output or an unknown context throws. The signature and layout follow the Http2 statistics and are recorded in TechnicalDebt. The library gets its own CMakeLists.txt, equivalent to the generic rule, to register its test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Rebased onto current Checked on the rebased tree: scoped build and ctest green, Note: #3337 declares the same export as an unimplemented stub; it should drop it after this lands. |
546ac8a to
c5bcc08
Compare
What
Implements
sceNpWebApi2GetMemoryPoolStats(Xweb+naPZ8Y). PPSA21703 (Vampire Survivors, Unity) imports it from its PSN plugin, and on Windows it did not start (FAIL: unresolved ELF import Xweb+naPZ8Y from libSceNpWebApi2.prx).tools/import_audit.pyreported it as the title's only absent import. The name was identified by hashing candidate names with the NID formula.sceNpWebApi2Initializerecords the pool size of the returned context;sceNpWebApi2Terminateforgets it.sceNpWebApi2GetMemoryPoolStats(int libCtxId, stats*)fills{pool_size, max_inuse_size, current_inuse_size, reserved}with the recorded size and 0 use, assceHttp2GetMemoryPoolStatsdoes, since nothing is allocated from the pool. A null output or an unknown context throws, because the error codes are unknown.docs/dev/TechnicalDebt.md: the signature and layout are assumed from the Http2 statistics, not confirmed.libSceNpWebApi2/CMakeLists.txt(new) builds the library exactly as the generic rule did, to registerguest_np_web_api2.tests/GuestNpWebApi2.cpp(new): two contexts report their own pool sizes, a null output throws, and a terminated context throws.Tested
Windows 11, MinGW-w64 GCC 15.2.0 (WinLibs 15.2.0posix-14.0.0-ucrt-r7), full build with
BUILD_TESTING=ON:ctest: 769/769 passed (includesguest_np_web_api2andguest_http2).python tools/check_conventions.py --base origin/main: passed.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code