sc_relocation_v1_1.cancel
Owner-only idempotent cancellation of a known ticket. Does not undo movement already initiated. Foreign or evicted tickets are NOT_FOUND. Zero ticket is BAD_ARG.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, uint64_t)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_relocation_v1_1.cancel |
| Record ID | sc-relocation-v1-1-cancel |
| Service | game.relocation |
| Table | sc_relocation_v1_1 |
| Version macro | SC_RELOCATION_VERSION_1_1 |
| Packed table version | 65537 |
| Since / availability | size >= 24; 1.1 |
| Complete member extent (x64 bytes) | 24 |
| Table size (x64 bytes) | 40 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*cancel)(sco_plugin* self, uint64_t ticket);
Owner-only idempotent cancellation of a known ticket. Does not undo movement already initiated. Foreign or evicted tickets are NOT_FOUND. Zero ticket is BAD_ARG.
Results and failures
Section titled “Results and failures”SCO_OK success; SCO_BAD_ARG invalid input/self; SCO_UNAVAILABLE missing safety/player/transport or unknown/different systems; SCO_TOO_MANY pending global request or ticket exhaustion; SCO_NOT_FOUND foreign/unknown/evicted ticket. Outputs unchanged on failure.
Absent capability
Section titled “Absent capability”Missing service: query_service NOT_FOUND. Production table is present but game.relocation capability false; valid request returns SCO_UNAVAILABLE.
Ownership
Section titled “Ownership”Local player only; owner-scoped opaque tickets. No arbitrary entity/pointer/owner writes. Copied request and caller-owned output. 32 retained terminal tickets; oldest terminal evicted at admission.
Thread affinity
Section titled “Thread affinity”Game thread only; wrong thread returns SCO_WRONG_THREAD without touching state.
Callback context
Section titled “Callback context”No callbacks; bounded tick-driven work.
Reentrancy
Section titled “Reentrancy”Non-reentrant.
Cleanup and cancellation
Section titled “Cleanup and cancellation”Shared owner-scoped FullPose/position ticket pool. Completion follows the creating request method; cancel is not rollback. Owner release/stop forget tickets; status does not advance work.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sc_relocation.h(*cancel) |
| cpp | direct | include/sc_relocation.h(*cancel) |
| csharp | unsupported | include/sc_relocation.hC# and Lua unsupported |
| lua | unsupported | include/sc_relocation.hC# and Lua unsupported |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
- tests/abi_relocation.c
- tests/test_relocation.cpp
- tests/game_contracts/relocation/test_position_provider.cpp
ABI pins prove layout, not semantic behavior or a live game session.