Migration services: Difference between revisions

No edit summary
Line 372: Line 372:
** Calls a func. This calls a func, then receives [[#Data|Data]] message 0x12 and sends the response.
** Calls a func. This calls a func, then receives [[#Data|Data]] message 0x12 and sends the response.
** Calls a func. This runs functionality similar to the eariler message-loop, except this waits for the state field to change to !=0x3. The socket is closed, then a func is called which handles [[LDN_services|ldn]] + [[Sockets_services|sockets]] cleanup.
** Calls a func. This runs functionality similar to the eariler message-loop, except this waits for the state field to change to !=0x3. The socket is closed, then a func is called which handles [[LDN_services|ldn]] + [[Sockets_services|sockets]] cleanup.
** Calls a func. This essentially calls the network-creation func from earlier, with the input AdvertiseData being 0x10-bytes.
** Calls a func. This essentially calls the network-creation func from earlier, with the input AdvertiseData being the [[#AdvertiseData|Uuid]].
** Calls a func. This receives [[#Suspend|Suspend]] or [[#SynchronizeState|SynchronizeState]] and sends the response.
** Calls a func. This receives [[#Suspend|Suspend]] or [[#SynchronizeState|SynchronizeState]] and sends the response.
* Updates a state flag and returns 0.
* Updates a state flag and returns 0.
Line 913: Line 913:
The salt used with hashing below is the same regardless of the AdvertiseData.
The salt used with hashing below is the same regardless of the AdvertiseData.


Later the server also sets the AdvertiseData to {0x10-byte Uuid previously used below}.
Immediately after a socket connection is setup, the AdvertiseData is set to size=0. Later when the server recreates the network it also sets the AdvertiseData to {0x10-byte Uuid previously used below}.


The Uuid used below is generated with <code>nn::util::GenerateUuid</code>.
The Uuid used below is generated with <code>nn::util::GenerateUuid</code>.