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