code: def _recv_frameify(self, data):
          
  
          # Get the state and framer
          state = self._recv_framer_state
          framer = None
  
          # Grab off as many frames as we can
          frameify = None
          while True:
              # Check if we need to change framers
              if framer != self._recv_framer:
                  # Notify the currently-running framer
                  if frameify:
                      try:
                          frameify.throw(framers.FrameSwitch)
                      except StopIteration:
                          pass
  
                  # Set up the new framer
                  framer = self._recv_framer
                  state._reset(framer)
                  frameify = framer.frameify(state, data)
                  data = ''  # Now part of the state's buffer
  
              # Get the next frame
              try:
                  frame = frameify.next()
              except StopIteration:
                  # OK, we've extracted as many frames as we can
                  break
  
              # OK, send the frame to the application
              if self._application:
                  self._application.recv_frame(frame)
docs: Helper method to frameify a stream.