<?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://schema.pivotal.io/gemfire/gfcpp-cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schema.pivotal.io/gemfire/gfcpp-cache
                        http://schema.pivotal.io/gemfire/gfcpp-cache/gfcpp-cache-9.0.xsd"
    version="9.0">
 <root-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>
     </region-attributes>
  </root-region>
</client-cache>

