19 #ifndef COMPOSITE_REQUEST_CC
20 #define COMPOSITE_REQUEST_CC
27 template <
class RequestType,
class ResponseType,
class ReturnType,
class... RequestTypeParams>
33 size_t bytesForRequest,
35 RequestTypeParams&&... args) {
42 myLogger->error(errMsg);
43 myLogger->error(
"compositeRequest: not able to connect to server.\n");
52 myLogger->error(errMsg);
53 myLogger->error(
"compositeRequest: not able to send request to server.\n");
58 ReturnType finalResult;
63 myLogger->error(errMsg);
64 myLogger->error(
"compositeRequest: not able to get next object over the wire.\n");
68 finalResult = processResponse(result, temp);
size_t getSizeOfNextObject()
ReturnType compositeRequest(PDBLoggerPtr myLogger, int port, std::string address, ReturnType onErr, size_t bytesForRequest, function< ReturnType(Handle< ResponseType >, PDBCommunicator)> processResponse, RequestTypeParams &&...args)
bool sendObject(Handle< ObjType > &sendMe, std::string &errMsg)
bool connectToInternetServer(PDBLoggerPtr logToMeIn, int portNumber, std::string serverAddress, std::string &errMsg)
Handle< ObjType > getNextObject(void *readToHere, bool &success, std::string &errMsg)
std::shared_ptr< PDBLogger > PDBLoggerPtr