This topic describes the rum time cache settings.
Read ahead caching
Read ahead caching builds on read caching by detecting clients that are performing streaming operations and speculatively reading ahead on the assumption that, once the data is in the cache it is likely to be accessed in the near future, thus improving performance.
Write caching is implemented to perform a small level of write back caching that overcomes the inefficiencies of clients that perform small write operations by consolidating multiple file updates into a single larger write operation, thus taking advantage of media that is written on a block basis as well as minimizing the overhead of metadata updates that the file system performs.
The system is configured by partners. Read caching, read ahead caching and write caching are set on a per drive basis and are one of three states, these are:
If caching is set to ENABLED or ON for a drive by the partner then you, as the client, can enable or disable caching at run-time on a per file basis. However, if caching is set to OFF it cannot be altered at run-time. The TFileMode enumeration supports the run time file caching configurations. The file open modes are as follows:
EFileWriteBuffered =0x00000800, // Enables write buffering EFileWriteDirectIO =0x00001000, // Disables write buffering EFileReadBuffered =0x00002000, // Enables read buffering EFileReadDirectIO =0x00004000, // Disables read buffering EFileReadAheadOn =0x00008000, // Enables read ahead EFileReadAheadOff =0x00010000 // Disables read ahead
If the values above are not specified when a file is opened then these default settings are used:
if caching is set to ENABLED for a drive by the partner then caching is OFF by default
if caching is set to ON for a drive by the partner then caching is ON by default
Use the TFileMode values with the following functions to alter the way in which an open file is accessed.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License v1.0.