Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ cmake_install.cmake *.build/ *.xcodeproj/ vendor/ /tmp # binaries Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ else(USE_LOCAL_KINETIC_CLIENT) kinetic_cpp_client PREFIX "vendor" GIT_REPOSITORY "git@github.com:Seagate/Kinetic-C-Client.git" GIT_TAG "510bc7dea3ab162abc87ac87c2e933ea0833a7bc" GIT_TAG "f994d581aa0193dc1a8bfc6a83067caaa70f0b3a" BUILD_IN_SOURCE 1 INSTALL_COMMAND "" ) Loading src/read_file_nonblocking.cc +17 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ using std::string; class Callback : public GetCallbackInterface { public: Callback(char* buffer, unsigned int expected_length, int* remaining) : buffer_(buffer), expected_length_(expected_length), remaining_(remaining) {}; Callback(char* buffer, unsigned int expected_length, int* remaining) : buffer_(buffer), expected_length_(expected_length), remaining_(remaining) {}; void Success(const std::string &key, std::unique_ptr<KineticRecord> record) { if(expected_length_ != record->value()->size()) { printf("Received value chunk of wrong size\n"); Loading @@ -36,7 +37,7 @@ public: (*remaining_)--; } void Failure(StatusCode error) { printf("Error!\n"); printf("Error: %d\n", static_cast<int>(error)); exit(1); } private: Loading Loading @@ -122,7 +123,20 @@ int main(int argc, char* argv[]) { connection->nonblocking().Run(&read_fds, &write_fds, &num_fds); while (remaining > 0) { while(select(num_fds + 1, &read_fds, &write_fds, NULL, NULL) <= 0); struct timeval tv; tv.tv_sec = 10; tv.tv_usec = 0; int number_ready_fds = select(num_fds + 1, &read_fds, &write_fds, NULL, &tv); if (number_ready_fds < 0) { // select() returned an error printf("i/o error: %s\n", strerror(errno)); return 1; } else if (number_ready_fds == 0) { printf("connection timed out\n"); return 1; } connection->nonblocking().Run(&read_fds, &write_fds, &num_fds); } Loading src/write_file_blocking_threads.cc +10 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ using com::seagate::kinetic::proto::Message_Algorithm_SHA1; using kinetic::KineticConnectionFactory; using kinetic::BlockingKineticConnection; using kinetic::Status; using kinetic::KineticStatus; using kinetic::KineticRecord; using kinetic::ConnectionOptions; using kinetic::ConnectionHandle; Loading Loading @@ -129,18 +130,20 @@ void put_range(int64_t start, int64_t end, int64_t total_size, const char* kinet std::string key(key_buffer); std::string value(inputfile_data + i, value_size); if(!handle->blocking().Put( KineticStatus status = handle->blocking().Put( key, "", kinetic::IGNORE_VERSION, KineticRecord(value, "", "", Message_Algorithm_SHA1)).ok()) { printf("Unable to write chunk\n"); KineticRecord(value, "", "", Message_Algorithm_SHA1)); if(!status.ok()) { printf("Unable to write chunk: %d %s\n", static_cast<int>(status.statusCode()), status.message().c_str()); return; } printf("."); fflush(stdout); } printf("\n"); printf("\nThread done\n"); if (close(file)) { printf("Unable to close file\n"); Loading Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ cmake_install.cmake *.build/ *.xcodeproj/ vendor/ /tmp # binaries Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ else(USE_LOCAL_KINETIC_CLIENT) kinetic_cpp_client PREFIX "vendor" GIT_REPOSITORY "git@github.com:Seagate/Kinetic-C-Client.git" GIT_TAG "510bc7dea3ab162abc87ac87c2e933ea0833a7bc" GIT_TAG "f994d581aa0193dc1a8bfc6a83067caaa70f0b3a" BUILD_IN_SOURCE 1 INSTALL_COMMAND "" ) Loading
src/read_file_nonblocking.cc +17 −3 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ using std::string; class Callback : public GetCallbackInterface { public: Callback(char* buffer, unsigned int expected_length, int* remaining) : buffer_(buffer), expected_length_(expected_length), remaining_(remaining) {}; Callback(char* buffer, unsigned int expected_length, int* remaining) : buffer_(buffer), expected_length_(expected_length), remaining_(remaining) {}; void Success(const std::string &key, std::unique_ptr<KineticRecord> record) { if(expected_length_ != record->value()->size()) { printf("Received value chunk of wrong size\n"); Loading @@ -36,7 +37,7 @@ public: (*remaining_)--; } void Failure(StatusCode error) { printf("Error!\n"); printf("Error: %d\n", static_cast<int>(error)); exit(1); } private: Loading Loading @@ -122,7 +123,20 @@ int main(int argc, char* argv[]) { connection->nonblocking().Run(&read_fds, &write_fds, &num_fds); while (remaining > 0) { while(select(num_fds + 1, &read_fds, &write_fds, NULL, NULL) <= 0); struct timeval tv; tv.tv_sec = 10; tv.tv_usec = 0; int number_ready_fds = select(num_fds + 1, &read_fds, &write_fds, NULL, &tv); if (number_ready_fds < 0) { // select() returned an error printf("i/o error: %s\n", strerror(errno)); return 1; } else if (number_ready_fds == 0) { printf("connection timed out\n"); return 1; } connection->nonblocking().Run(&read_fds, &write_fds, &num_fds); } Loading
src/write_file_blocking_threads.cc +10 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ using com::seagate::kinetic::proto::Message_Algorithm_SHA1; using kinetic::KineticConnectionFactory; using kinetic::BlockingKineticConnection; using kinetic::Status; using kinetic::KineticStatus; using kinetic::KineticRecord; using kinetic::ConnectionOptions; using kinetic::ConnectionHandle; Loading Loading @@ -129,18 +130,20 @@ void put_range(int64_t start, int64_t end, int64_t total_size, const char* kinet std::string key(key_buffer); std::string value(inputfile_data + i, value_size); if(!handle->blocking().Put( KineticStatus status = handle->blocking().Put( key, "", kinetic::IGNORE_VERSION, KineticRecord(value, "", "", Message_Algorithm_SHA1)).ok()) { printf("Unable to write chunk\n"); KineticRecord(value, "", "", Message_Algorithm_SHA1)); if(!status.ok()) { printf("Unable to write chunk: %d %s\n", static_cast<int>(status.statusCode()), status.message().c_str()); return; } printf("."); fflush(stdout); } printf("\n"); printf("\nThread done\n"); if (close(file)) { printf("Unable to close file\n"); Loading