+ 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;
+ Service service(address, type, name, text);
+ mServices.insert(std::make_pair(name, service));
+ return 0;
+ }
+ }
+ }
+ catch (...) {}
+ return -1;