def <<(cbor)
      @buffer.write(cbor)
      @decoding_fiber.resume

    rescue FiberError => e
      msg = e.message

      # umm...
      if msg.include?("dead")
        raise Cborb::InvalidByteSequenceError
      elsif msg.include?("threads")
        raise Cborb::DecodingError, "Can't decode across threads"
      else
        raise
      end
    end
def <<(cbor)
      @buffer.write(cbor)
      @decoding_fiber.resume

    rescue FiberError => e
      msg = e.message

      # umm...
      if msg.include?("dead")
        raise Cborb::InvalidByteSequenceError
      elsif msg.include?("threads")
        raise Cborb::DecodingError, "Can't decode across threads"
      else
        raise
      end
    end
Buffering new CBOR data

 @param [String] cbor