Hosts, to communicate with Vanad, need to utilize it's specific protocol. It's aimed to be fast, does not require any security as Vanad is assumed to run in a secure environment.
Please mind to ensure proper ports are firewalled from the world!!!
Client, upon connecting to database, sends a request. It's form is:
dword ValueLength might be zero if it doesn't make sense
Requests may block for awhile. Protocol frame is made so as to be fast-scanned by receiver. Server responds with this:
dword DataLength might be zero if it wouldn't make sense otherwise
Server might now drop the connection, depending on flags set by client
Here is a list of request codes, depending on code of RequestType
Take note that if most significant bit of RequestType(ie. 0x80) is set, server will close the connection upon receiving successful reply. Otherwise, connection continues to stay open.
It is advised that user uses open-transact-close paradigm. Vanad is meant to be very fast as far as those types of connections are concerned and uses thread-pooling where multiple threads accept() on blocking server socket.
Next request is expected to arrive within a timeout period(4 seconds), otherwise connection will be discarded. As needs arise, I may implement some other type of logic - but that would complicate the server a bit, as it would need to dynamically spawn threads in response to connection load.