nodes: 0, module; 1, function_definition; 2, function_name:feed; 3, parameters; 4, block; 5, identifier:self; 6, identifier:byts; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, while_statement; 11, return_statement; 12, string; 13, call; 14, assignment; 15, True; 16, block; 17, identifier:retn; 18, string_content:Feed bytes to the unpacker and return completed objects.
  
          Args:
              byts (bytes): Bytes to unpack.
  
          Notes:
              It is intended that this function is called multiple times with
              bytes from some sort of a stream, as it will unpack and return
              objects as they are available.
  
          Returns:
              list: List of tuples containing the item size and the unpacked item.; 19, attribute; 20, argument_list; 21, identifier:retn; 22, list; 23, try_statement; 24, attribute; 25, identifier:feed; 26, identifier:byts; 27, block; 28, except_clause; 29, identifier:self; 30, identifier:unpk; 31, expression_statement; 32, expression_statement; 33, expression_statement; 34, expression_statement; 35, attribute; 36, block; 37, assignment; 38, assignment; 39, call; 40, assignment; 41, attribute; 42, identifier:OutOfData; 43, break_statement; 44, identifier:item; 45, call; 46, identifier:tell; 47, call; 48, attribute; 49, argument_list; 50, attribute; 51, identifier:tell; 52, identifier:msgpack; 53, identifier:exceptions; 54, attribute; 55, argument_list; 56, attribute; 57, argument_list; 58, identifier:retn; 59, identifier:append; 60, tuple; 61, identifier:self; 62, identifier:size; 63, attribute; 64, identifier:unpack; 65, attribute; 66, identifier:tell; 67, binary_operator:tell - self.size; 68, identifier:item; 69, identifier:self; 70, identifier:unpk; 71, identifier:self; 72, identifier:unpk; 73, identifier:tell; 74, attribute; 75, identifier:self; 76, identifier:size
code: def feed(self, byts):
          '''
          Feed bytes to the unpacker and return completed objects.
  
          Args:
              byts (bytes): Bytes to unpack.
  
          Notes:
              It is intended that this function is called multiple times with
              bytes from some sort of a stream, as it will unpack and return
              objects as they are available.
  
          Returns:
              list: List of tuples containing the item size and the unpacked item.
          '''
          self.unpk.feed(byts)
  
          retn = []
  
          while True:
  
              try:
                  item = self.unpk.unpack()
                  tell = self.unpk.tell()
                  retn.append((tell - self.size, item))
                  self.size = tell
  
              except msgpack.exceptions.OutOfData:
                  break
  
          return retn