Test code:
```
#include <iostream>
#include <sstream>
#include "blob_client/src/lib.rs.h"
//...
try {
std::cout << "CALLING RUST CODE" << std::endl;
put_client_initialize_cxx();
put_client_write_cxx(0, "holder009");
put_client_blocking_read_cxx();
put_client_write_cxx(1, "hash005");
rust::String responseStr = put_client_blocking_read_cxx();
const char *value = responseStr.c_str();
unsigned int intValue;
std::stringstream strValue;
strValue << value;
strValue >> intValue;
bool dataExists = (bool)intValue;
std::cout << "response if the data exists: " << dataExists << std::endl;
if (dataExists) {
std::cout << "data exists, skipping sending chunks" << std::endl;
} else {
std::cout << "data doesn't exist, sending chunks" << std::endl;
put_client_write_cxx(2, "data CHUNK :):):)");
}
// rust::Vec<rust::String> errorMessages = put_client_terminate_cxx();
// std::cout << "terminated rust client, errors: " << errorMessages.size()
// << std::endl;
// for (auto it = errorMessages.begin(); it != errorMessages.end(); ++it) {
// std::cout << "=> " << it->c_str() << std::endl;
// }
put_client_terminate_cxx();
std::cout << "CALLED RUST CODE" << std::endl;
} catch (const std::exception &err) {
std::cout << "rust error: " << err.what() << std::endl;
}
```