docs: def on_close(self):
          '''
          Called when client closes this connection. Cleanup
          is done here.
          '''
  
          if self.id in self.funcserver.websocks:
              self.funcserver.websocks[self.id] = None
              ioloop = tornado.ioloop.IOLoop.instance()
              ioloop.add_callback(lambda: self.funcserver.websocks.pop(self.id, None))
  
          psession = self.funcserver.pysessions.get(self.pysession_id, None)
          if psession:
              psession['socks'].remove(self.id)
              if not psession['socks']:
                  del self.funcserver.pysessions[self.pysession_id]