Service side code

Most of the code is generic and works with various user defined functions. Modify proxyops.c, service.h and serviceif.h to implement the user defined functions of the service.
Generic code includes parsing command line options, initialization of the service, creation of a number of dispatch threads working on service requests, mapping memory of service requests into the local address space, cleanup when the service terminates, error checking and logging.
The current implementation uses a configurable number of dispatch threads queueing up at one local data mailbox to receive requests for the service. Results are returned to a data mailbox created by generic code of the client RSL for every client thread.
Tune the number and priority of dispatch threads to adapt the throughput of the service to your needs.