We need to add new billing process on to our Server.
Here is brief description, more details, sample Database tables are available on request.
Billing is used to charge user for sending messages. Billing server accepts messages from users, each message among other parameters contains destination number to send the message to. Database contains credit amount for each user (users table) and price for each user and destination (billing table). Server accepts message of each user, checks in the database if user has enough credit to send to the specific destination, then checks if user has permission to send to that destination (checks billing table) and stores the message in queue table if those conditions satisfied, otherwise rejects the message.
Server periodically reads billing table into memory for each active user, and removes biling table from memory of inactive users for more than 30 minutes. Server must be written in C++ for Linux platform using libc. Communication is made via sockets, multithreading via pthreads library, database is PostgreSQL so libpq or pqxx must be used. Billing accepts data in Base64 format so functions used for this must be given with source code and license which allows free commercial or non-commercial use. Server should process data in thread-pool manner; that means, data received from client sockets should be stored in queue waiting for processing by fixed number of threads.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).