void IpcServer::sendKill(iviLink::Ipc::DirectionID * pDirID) { LOG4CPLUS_TRACE_METHOD(mLogger, __PRETTY_FUNCTION__); std::string dieRequest(DIE_REQUEST); UInt8 * writeBuf = new UInt8(dieRequest.size()); memcpy(writeBuf, dieRequest.c_str(), dieRequest.size()); UInt8 * readBuf = new UInt8(1); UInt32 respSize = 1; timeval begin, end; double requestTime; gettimeofday(&begin, NULL); BaseError err = mIpc->request(mMsgIdGen.getNext(), writeBuf, dieRequest.size(), readBuf, respSize, pDirID); assert (!err.isNoError()); LOG4CPLUS_INFO(mLogger, "Request returned an error as expected"); assert (err.getCode() == CIpcError::ERROR_CONNECTION_LOST); LOG4CPLUS_INFO(mLogger, "Request returned an error and the error code is as expected"); gettimeofday(&end, NULL); requestTime = (end.tv_sec - begin.tv_sec) * 1000.0; // sec to ms requestTime += (end.tv_usec - begin.tv_usec) / 1000.0; // us to ms std::ostringstream s; s << "(" << requestTime << ") ms"; LOG4CPLUS_INFO(mLogger, "Time elapsed requesting: " + s.str()); assert (requestTime < 100); LOG4CPLUS_INFO(mLogger, "Request's time is within the expected limits"); delete writeBuf; delete readBuf; }