+int Service::handlePacket(SocketMultiplexer& mux,
+ Packet& packet,
+ const SocketAddress& address)
+{
+ try
+ {
+ uint32_t magic;
+ packet >> magic;
+ if (magic == SOLICIT)
+ {
+ std::string type;
+ packet >> type;
+ if (type == mType)
+ {
+ packet.clear();
+ packet << RESPONSE << mType << mName << mText;
+ mux.socket().write(packet);
+ return 0;
+ }
+ }
+ }
+ catch (...) {}
+ return -1;
+}
+
+int ServiceFinder::handlePacket(SocketMultiplexer& mux,
+ Packet& packet,
+ const SocketAddress& address)