<?xml version="1.0" encoding="UTF-8"?>

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->


<!-- library function name is not mentioned for persistence -->

<client-cache
    xmlns="http://geode.apache.org/schema/cpp-cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://geode.apache.org/schema/cpp-cache
                        http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"
    version="1.0">
  <region name="root1">
    <region-attributes scope="local" caching-enabled="true"
                       lru-entries-limit="35" disk-policy="overflows">
      <persistence-manager library-name="SqLiteImpl">
        <properties>
          <property name="PersistenceDirectory" value="SqLiteRegionData"/>
          <property name="PageSize" value="32500"/>
        </properties>
      </persistence-manager>
    </region-attributes>
  </region>
</client-cache>

