Symbian3/SDK/Source/GUID-F4BD69B6-008E-51DB-ABFF-1E17E10B053F.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 7 51a74ef9ed63
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-F4BD69B6-008E-51DB-ABFF-1E17E10B053F" xml:lang="en"><title>How
to use sessions efficiently</title><shortdesc>This topic describes how to use file server session effectively.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>For most purposes, it is not necessary for the user of the file server
to be aware that it is implemented in a client-server architecture. However,
for some purposes, you can make your programs much more efficient if you are
aware of the implications of client-server interaction. </p>
<p>Essentially, you gain efficiency by using as few as possible client-server
calls. The main technique for achieving this is to transfer more data with
each file server function call. Things to watch out for include: </p>
<ul>
<li id="GUID-FD15653A-9127-5665-A572-C45B95705D93"><p>Data transfer: use a
large buffer, and then read bytes from the buffer. The main data-transfer
clients of the file server all operate through the stream store and the relational
database. Buffering has been highly optimized for these two components. Therefore,
application programs using these components automatically gain the maximum
efficiency in data transfer, without needing any explicit optimization. </p> </li>
<li id="GUID-52E7009A-368B-5596-AD14-D5C493119472"><p>Reading directories </p> <p>There
are functions to read a single directory entry at a time, but it is often
more useful to read multiple directory entries from the server and then to
scan through them client-side. </p> </li>
<li id="GUID-4E5A5D73-018B-5ED9-8B3C-5968F40F07C7"><p>Large-scale copying,
moving and other file management operations </p> <p>A single class, <xref href="GUID-82CEC14F-1479-3922-846A-9FCDB6465EF7.dita"><apiname>CFileMan</apiname></xref>,
provides high-level function for this, involving only a small number of client-server
calls. </p> </li>
</ul>
<p>The <xref href="GUID-F673F02A-AC5B-3D0F-8D14-21E6221E5015.dita"><apiname>TParseBase</apiname></xref> hierarchy of classes, for analyzing file
names, operates without client-server interaction. </p>
</conbody></concept>