Migration services: Difference between revisions

No edit summary
No edit summary
Line 438: Line 438:
| 996 || [8.0.0+] DebugTryGetState
| 996 || [8.0.0+] DebugTryGetState
|-
|-
| 997 || [8.0.0+] DebugSynchronizeStateInFinalization0Async
| 997 || [8.0.0+] [[#DebugSynchronizeStateInFinalization0Async|DebugSynchronizeStateInFinalization0Async]]
|-
|-
| 998 || [8.0.0+] DebugSynchronizeStateInFinalization1Async
| 998 || [8.0.0+] [[#DebugSynchronizeStateInFinalization1Async|DebugSynchronizeStateInFinalization1Async]]
|-
|-
| 999 || DebugSynchronizeStateFinalizedAsync
| 999 || [[#DebugSynchronizeStateFinalizedAsync|DebugSynchronizeStateFinalizedAsync]]
|}
|}


Line 562: Line 562:


Besides other functionality, this async task uses network request [[Network|transfer_events/%lld/finish_transfer]].
Besides other functionality, this async task uses network request [[Network|transfer_events/%lld/finish_transfer]].
=== DebugSynchronizeStateInFinalization0Async ===
No input, returns an [[#IAsyncContext|IAsyncContext]].
Besides various validation, the async task essentially just calls a func which calls vfuncs and uses network message [[#SynchronizeState|SynchronizeState]] with value 3.
=== DebugSynchronizeStateInFinalization1Async ===
No input, returns an [[#IAsyncContext|IAsyncContext]].
Besides various validation, the async task essentially just calls a func which calls vfuncs and uses network message [[#SynchronizeState|SynchronizeState]] with value 4.
=== DebugSynchronizeStateFinalizedAsync ===
No input, returns an [[#IAsyncContext|IAsyncContext]].
Besides various validation, the async task essentially just calls a func which calls a vfunc and uses network message [[#SynchronizeState|SynchronizeState]] with value 5.


== IServer ==
== IServer ==
Line 1,152: Line 1,167:
|-
|-
| 0xE2 || [[#TransferNext|TransferNext]]
| 0xE2 || [[#TransferNext|TransferNext]]
|-
| 0xF0 || [[#SynchronizeState|SynchronizeState]]
|}
|}


Line 1,276: Line 1,293:


With savedata the transfer payload is the output from exporting savedata from [[Filesystem_services|ISaveDataTransferManagerWithDivision]] (see [[#Notes]]), which the client then imports.
With savedata the transfer payload is the output from exporting savedata from [[Filesystem_services|ISaveDataTransferManagerWithDivision]] (see [[#Notes]]), which the client then imports.
=== SynchronizeState ===
The client sends this via [[#ConnectByServerIdAsync|ConnectByServerIdAsync]], [[#CompleteAsync|CompleteAsync]], and DebugSynchronizeState*.
Request payload:
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x4 || See below.
|}
{| class="wikitable" border="1"
|-
! Value || Description
|-
| 1 || Can be used by [[#ConnectByServerIdAsync|ConnectByServerIdAsync]].
|-
| 3 || [[#DebugSynchronizeStateInFinalization0Async|InFinalization0]]
|-
| 4 || [[#DebugSynchronizeStateInFinalization1Async|InFinalization1]]
|-
| 5 || [[#DebugSynchronizeStateFinalizedAsync|Finalized]]
|}
The response only contains the header.


=== Error ===
=== Error ===