NIM services: Difference between revisions

No edit summary
No edit summary
Line 632: Line 632:
Content can be transferred with a custom protocol over the network. This is intended for use with local [[LDN_services|ldn]] networks, however the used IP addresses can be arbitary. This can be used for SystemUpdates via the above Send/Receive commands (which are then used via [[NS_Services#ns:su|ns:su]]). Application content can also be transferred, which uses a similar (?) protocol.
Content can be transferred with a custom protocol over the network. This is intended for use with local [[LDN_services|ldn]] networks, however the used IP addresses can be arbitary. This can be used for SystemUpdates via the above Send/Receive commands (which are then used via [[NS_Services#ns:su|ns:su]]). Application content can also be transferred, which uses a similar (?) protocol.


Task [[#Cmd69|creation]] for Receive will eventually use the input addr/port with [[Sockets_services|connect()]], while the Send version will eventually do the same with [[Sockets_services|bind()]]. Hence, Receive system = client, while Send system = server.
Task [[#Cmd69|creation]] for Receive will eventually use the input addr/port with [[Sockets_services|connect()]], while the Send [[#Cmd76|version]] will eventually do the same with [[Sockets_services|bind()]]. Hence, Receive system = client, while Send system = server.
 
The Receive async [[#Cmd72|thread]] does the following:
* Sets the <code>nn::fs::PriorityRaw</code> using a value loaded from state.
* Calls a func.
* Signals the async Event and returns.
** That func does:
** ...
 
The Send async [[#Cmd77|thread]] does the following:
* This is identical to the Receive thread except the called func is different.
** That func does:
** ...


Messages (requests/replies) begin with the following 0x10-byte header, then any associated data.
Messages (requests/replies) begin with the following 0x10-byte header, then any associated data.