Symbian3/SDK/Source/GUID-BF4E220C-2388-517B-87D8-78AB1EA6382E.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?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-BF4E220C-2388-517B-87D8-78AB1EA6382E" xml:lang="en"><title>Architecture</title><shortdesc>This topic describes the Network Interface Manager (NifMan) architecture. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-43AC7095-C84C-401F-A1C9-084A56A47ED5"><title>NifMan Architecture</title> <p>The following diagram outlines
the main components in the NifMan architecture: </p> <fig id="GUID-71FB9DE6-1171-5486-9480-8A8A6A8F0B29">
<image href="GUID-15F209D1-6BC6-5207-B443-25306C232CFC_d0e109780_href.png" placement="inline"/>
</fig> <p>As shown, the NIFMAN configuration daemon architecture consists
of two parts: </p> <ul>
<li id="GUID-E2F1FCB0-9A25-52ED-BD80-4C91E271F099"><p>An ECom plug-in for
NIFMAN </p> <p>The ECom plug-in manages the interface between NIFMAN and the
configuration daemon. The ECom plug-in is referred to as the configuration
daemon manager. </p> </li>
<li id="GUID-335CBA17-63CF-5309-AA5B-009A3CC6198C"><p>The configuration daemon </p> <p>The
configuration daemon is a Symbian platform server that runs in
its own process. It does not run in the NIFMAN thread. Licensees can write
new configuration daemons. </p> </li>
</ul> <p>The framework for configuration daemons support the following: </p> <ul>
<li id="GUID-5B004464-1411-5CDC-8504-0AEE9AFFCA82"><p>Deregistration events </p> <p>Deregistration
events notify the daemon when the interface is shutting down. For Mobile IP,
the phone can deregister its foreign agent address with the home agent. </p> <p>Alternatively,
the daemon can instruct NIFMAN to maintain the logical state of a user session
and release the resources associated with the wireless connection. This is
called fast dormant mode. </p> </li>
<li id="GUID-9D5648A1-0683-5B27-90CD-3C0836CAF09E"><p>Progress notifications </p> <p>Mobile
IP reports progress notifications when it registers and deregisters with the
foreign agent. The notifications are passed by NIFMAN to the sockets client
using <codeph>RConnection::ProgressNotification()</codeph>, for the current
interface. </p> </li>
</ul> <p>The configuration daemon manager handles one outstanding daemon request
at a time. If a request is already being processed, NIFMAN queues a deregistration
request which is processed when the previous request is complete. Other types
of request are not queued. This permits the handling of the following scenarios: </p> <ul>
<li id="GUID-CDD25CFF-B4B1-5472-91C8-45EC27D6AF89"><p>Deregistration notification
during registration. </p> </li>
<li id="GUID-24E5A80D-50A3-5BAA-9B78-07C0872491E5"><p>Deregistration notification
during an Ioctl request. </p> </li>
<li id="GUID-8859117E-F118-5C21-B0F2-AB327A3C3C72"><p>Deregistration notification
when the daemon is being requested to enter fast dormant mode. </p> </li>
</ul> </section>
</conbody><related-links>
<link href="GUID-F8482AFB-BD49-5EF2-8092-EAA11862F9C4.dita"><linktext>What is Network
Interface Management                 (NifMan)?</linktext></link>
</related-links></concept>