code: def decode(self):
          
          if _debug: IOChainMixIn._debug("decode")
  
          # refer to the chained iocb
          iocb = self.ioChain
  
          # if this has completed successfully, pass it up
          if self.ioState == COMPLETED:
              if _debug: IOChainMixIn._debug("    - completed: %r", self.ioResponse)
  
              # change the state and transform the content
              iocb.ioState = COMPLETED
              iocb.ioResponse = self.ioResponse
  
          # if this aborted, pass that up too
          elif self.ioState == ABORTED:
              if _debug: IOChainMixIn._debug("    - aborted: %r", self.ioError)
  
              # change the state
              iocb.ioState = ABORTED
              iocb.ioError = self.ioError
  
          else:
              raise RuntimeError("invalid state: %d" % (self.ioState,))
docs: Hook to transform the response, called when this IOCB is
          completed.