title: what's the tornado ioloop, and tornado's workflow?
body: <p>i want to know tornado's internal workflow, and have seen <a href="http://golubenco.org/?p=16">this article</a>, it's great, but something i just can't figure out</p>
  
  <p>within the ioloop.py, there is such a function</p>
  
  <pre><code>def add_handler(self, fd, handler, events):
      """Registers the given handler to receive the given events for fd."""
      self._handlers[fd] = handler
      self._impl.register(fd, events | self.ERROR)
  </code></pre>
  
  <p>so what's this mean? every request will trigger add_handler or it's just triggered once when init?</p>
  
  <p>every socket connect will generate a file descriptor , or it's just generated once?</p>
  
  <p>what's the relationship between ioloop and iostream ? </p>
  
  <p>how does httpserver work with ioloop and iostream ?</p>
  
  <p>is there any workflow chart, so i can see it clearly ?</p>
  
  <p>sorry for these questiones, i just confused</p>
  
  <p>any link, suggestion, tip helps. many thanks :)</p>