basic documentation

This commit is contained in:
Izaya 2021-09-03 11:10:22 +10:00
parent 25d543ef0f
commit b110527db8

View File

@ -1,3 +1,28 @@
# OC-DSS2
Networked storage drawer based inventory system for OpenComputers. AKA AEn't v2
Networked storage drawer based inventory system for OpenComputers. AKA AEn't v2
## Design
OC-DSS2 uses a client-server model in that there is a server that is actually attached to the transposers that talk to the inventory system, and a number of clients that use the services remotely over the network.
Clients submit a search request (in the format described later) to the server, which responds with a liblz16-compressed stream of the search results. Clients can then use RPC endpoints on the server to request items be extracted to their location, if an alias has been set up for it.
## Requirements
- Minitel
- Minitel RPC
- liblz16
- libsyslog (server only)
## Setup
## Network protocol
In addition to standard RPC calls, OC-DSS2 uses a stream protocol on port 15 (by default).
Requests are submitted as a single line, in the form of key=value pairs, separated by tab characters. The keys map to itemstack values, such as name, label or maxSize.
The server responds with a liblz16-compressed stream, with one serialised table per line, each containing one resulting item stack.
RPC endpoints exported by OC-DSS2 are directly from the server-side "inv" library, contained in OpenOS/server/usr/lib/inv.lua.