code: def on_frame(self, frame_in):
          
          if self.rpc.on_frame(frame_in):
              return
  
          if frame_in.name in CONTENT_FRAME:
              self._inbound.append(frame_in)
          elif frame_in.name == 'Basic.Cancel':
              self._basic_cancel(frame_in)
          elif frame_in.name == 'Basic.CancelOk':
              self.remove_consumer_tag(frame_in.consumer_tag)
          elif frame_in.name == 'Basic.ConsumeOk':
              self.add_consumer_tag(frame_in['consumer_tag'])
          elif frame_in.name == 'Basic.Return':
              self._basic_return(frame_in)
          elif frame_in.name == 'Channel.Close':
              self._close_channel(frame_in)
          elif frame_in.name == 'Channel.Flow':
              self.write_frame(specification.Channel.FlowOk(frame_in.active))
          else:
              LOGGER.error(
                  '[Channel%d] Unhandled Frame: %s -- %s',
                  self.channel_id, frame_in.name, dict(frame_in)
              )
docs: Handle frame sent to this specific channel.
  
          :param pamqp.Frame frame_in: Amqp frame.
          :return: