X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fcpp_example.cc;h=f84af7596e25759e9e55847508208793cb1cba37;hb=8f57b3b4586bca9dc17266a29e6384ac542c1c86;hp=a9977ca7293aa09c11f3c192047979a789a9aeee;hpb=35008d0efa0bcf0e7bcf4dd9a855fc8cabb96dcd;p=awesomized%2Flibmemcached diff --git a/tests/cpp_example.cc b/tests/cpp_example.cc index a9977ca7..f84af759 100644 --- a/tests/cpp_example.cc +++ b/tests/cpp_example.cc @@ -1,11 +1,13 @@ /* * An example file showing the usage of the C++ libmemcached interface. */ +#include #include #include #include #include +#include #include @@ -58,9 +60,12 @@ public: Memcache *getCache() { - /* pick a random element from the vector of clients */ - Memcache *first= clients[0]; - return first; + /* + * pick a random element from the vector of clients. Obviously, this is + * not very random but suffices as an example! + */ + uint32_t index= rand() % num_of_clients; + return clients[index]; } private: @@ -164,28 +169,27 @@ void setProduct(const string &key, const Product &product) int main() { - Product pad(1, 5.0); - const string key("padraig"); - cout << "Going to set an object in the cache..." << endl; - setProduct(key, pad); - cout << "Now retrieve that key..." << endl; - Product test= getProduct(key); - double price= test.getPrice(); - cout << "Price of retrieve object: " << price << endl; - Product next(2, 10.0); - vector products; - products.push_back(pad); - products.push_back(next); - cout << "going to set a vector of products..." << endl; - setAllProducts(products); - cout << "now retrieve those products..." << endl; - vector got= getAllProducts(); - cout << "size of retrieved vector: " << got.size() << endl; - vector::iterator iter= got.begin(); - while (iter != got.end()) + Memcache first_client("127.0.0.1:19191"); + map< string, map > my_stats; + first_client.getStats(my_stats); + + /* + * Iterate through the retrieved stats. + */ + map< string, map >::iterator it= + my_stats.begin(); + while (it != my_stats.end()) { - cout << "product " << (*iter).getId() << " costs " << (*iter).getPrice() << endl; - ++iter; + cout << "working with server: " << (*it).first << endl; + map serv_stats= (*it).second; + map::iterator iter= serv_stats.begin(); + while (iter != serv_stats.end()) + { + cout << (*iter).first << ":" << (*iter).second << endl; + ++iter; + } + ++it; } - return 0; + + return EXIT_SUCCESS; }