+ try
+ {
+ uint32_t magic;
+ packet >> magic;
+ if (magic == RESPONSE)
+ {
+ std::string type;
+ packet >> type;
+ if (type == mType)
+ {
+ std::string name;
+ std::string text;
+ packet >> name >> text;
+ mServices.insert(std::make_pair(name,
+ Service(address, name, text)));
+ return 0;
+ }
+ }
+ }
+ catch (...)
+ {
+ }
+
+ return -1;