code: def streamify(self, state, frame):
          
  
          # Get the encoding table
          enc_tab = self._tables[1][:]
  
          # Need the special un-trailed block length and code
          untrail_len, untrail_code = enc_tab.pop(0)
  
          # Set up a repository to receive the encoded blocks
          result = []
  
          # Break the frame into blocks
          blocks = frame.split('\0')
  
          # Now, walk the block list; done carefully because we need
          # look-ahead in some cases
          skip = False
          for i in range(len(blocks)):
              # Skip handled blocks
              if skip:
                  skip = False
                  continue
  
              blk = blocks[i]
  
              # Encode un-trailed blocks
              while len(blk) >= untrail_len - 1:
                  result.append(untrail_code + blk[:untrail_len - 1])
                  blk = blk[untrail_len - 1:]
  
              # Do we care about look-ahead?
              if (len(enc_tab) > 1 and i + 1 < len(blocks) and
                      blocks[i + 1] == '' and len(blk) <= 30):
                  # Use the second encoder table
                  tab = enc_tab[1]
  
                  # Skip the following empty block
                  skip = True
              else:
                  # Use the regular encoder table
                  tab = enc_tab[0]
  
              # Encode the block
              result.append(tab[len(blk) + 1] + blk)
  
          # Stitch together the result blocks
          return ''.join(result) + '\0'
docs: Prepare frame for output as a COBS-encoded stream.