I would like to have a class written in C++ that acts as a remote procedure call server.
I have a large (over a gigabyte) file that I parse, reading in parameters to instantiate objects which I then store in a std::map.  I would like the RPC server to listen for calls from a client, take the parameters passed from the client, look up an appropriate value in the map, do a calculation, and return the calculated value back to the client, and I want it to serve concurrent requests -- so I'd like to have multiple threads listening.  BTW, after the map is populated, it does not change.  The requests will only read from it.
I'd like to write the client in Python.  Could the server just be an HTTP server that listens for POST requests, and the client can use urllib to send them?
I'm new to C++ so I have no idea how to write the server.  Can anyone point me to some examples?
Maybe factors can affect the selection.
One solution is to use fastcgi.
Client sends HTTP request to HTTP server that has fastCGI enabled.
HTP server dispatch the request to your RPC server via the fastcgi mechanism.
RPC server process and generates response, and sends back to http server.
http server sends the response back to your client.
Concurrent Remote Procedure Calls to C++ Object