code: protected void handleTCPAttrRqst(AttrRqst attrRqst, Socket socket)
      {
          // Match scopes, RFC 2608, 11.1
          if (!scopes.weakMatch(attrRqst.getScopes()))
          {
              tcpAttrRply.perform(socket, attrRqst, SLPError.SCOPE_NOT_SUPPORTED);
              return;
          }
  
          Attributes attributes = matchAttributes(attrRqst);
  
          if (logger.isLoggable(Level.FINE))
              logger.fine("DirectoryAgent " + this + " returning attributes for service " + attrRqst.getURL() + ": " + attributes.asString());
          tcpAttrRply.perform(socket, attrRqst, attributes);
      }
docs: Handles a unicast TCP AttrRqst message arrived to this directory agent.
  <br />
  This directory agent will reply with an AttrRply containing the result of the attribute request.
  
  @param attrRqst the AttrRqst message to handle
  @param socket   the socket connected to the client where to write the reply