def config_attributes(self):

        rtn = [('HiddenServiceDir', str(self.dir))]
        if self.conf._supports['HiddenServiceDirGroupReadable'] \
           and self.group_readable:
            rtn.append(('HiddenServiceDirGroupReadable', str(1)))
        for port in self.ports:
            rtn.append(('HiddenServicePort', str(port)))
        if self.version:
            rtn.append(('HiddenServiceVersion', str(self.version)))
        for authline in self.authorize_client:
            rtn.append(('HiddenServiceAuthorizeClient', str(authline)))
        return rtn
This method is called in the ioloop thread when a message arrives.
dataset/ETHPy150Open meejah/txtorcon/txtorcon/torconfig.py/HiddenService.config_attributes--crossover with--dataset/ETHPy150Open jupyter/jupyter_client/jupyter_client/channels.py/HBChannel.call_handlers