6.1.1. Control sockets
The server programs have a control socket (Unix domain) as specified by
environment.controlsocket.path
.
All connections begin with a version handshake (two bytes, ASCII char 5 and 6 for version ‘5.6’), follow by one or more request and responses. All requests are sent beginning with a command identifier (one byte, ASCII char). The command identifiers are assigned in alphabetical order. In requests with a Protobuf request body, the command identifier is followed by a binary host packed (LE) unsigned 64 bit integer telling the size of the request body.
The response begins with one byte indicating the status; +
for success, or E
for error.
It is followed by a binary host (LE) packed unsigned 64 bit integer
telling the size the response data that follows.
In the success case, the data is a Protobuf response body.
In the error case, it is an ASCII string.