diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,142 @@ + + + + + +What +are PlanesThis topic describes the concept of a Plane in the Communications +Framework. +

The transmission of data and the management of connections is divided into +separate operations. Symbian platform gives the name Plane to +these operations. The Communications Framework defines three Planes. Each +Plane has a separate role and a separate responsibility. Each Plane matches +a Sockets Server API.

+

The Planes are called: the Data Plane, the Control Plane and the Management +Plane.

+

Layers span all three Planes. Code in each Plane operates together to deliver +the required Communications protocol behaviour.

+

A connection can have a number of subconnections. Subconnections can be +called channels. The concepts of connection and subconnection make it useful +to divide the Control Plane into two parts. The following diagram shows the +concept. The blue arrows indicate dependencies. The vertical dotted lines +indicate the division of Planes.

+ + Planes in the Communications Framework + + +

The following diagram overlays the Planes with an example series of Layers

+ + Planes and Layers in the Communications Framework + + + + +
Data Plane

The +Data Plane carries data and uses Communications protocols. The Data Plane +handles conversations with remote peers.The Control +Plane and the Management +Plane exist to serve the Data Plane.

The Data Plane exists +to minimise interruptions to the flow of data. The Data Plane assigns the +response to interruptions to the Control Plane. Interruptions include: the +start of a new network connection, the management of a timeout and the management +of changes to the status of the network.

To make sure that interruptions +cannot interfere with the Data Plane, a thread divide exists between the Data +Plane and the Control/Management Planes. The thread division allows the Communications +Framework to give the Data Plane thread a higher priority than the Control +and Management Plane thread. The difference in thread priorities allows the +Communications Framework to give the task of data transfer the highest priority.

The +Communications Framework provides a mechanism to send messages between the +threads. The mechanism is called the Message +Transport. The Transport sends and delivers the messages asynchronously. +Threads can continue their work until the threads are prepared to process +messages. The Transport always makes sure of the delivery of messages.

The +Data Plane corresponds to the Sockets Server API: RSocket.

The +following diagram shows the thread divide.

+ Data Plane in the Communications Framework + +

Features

The Data Plane:

    +
  • exchanges data with +remote peers and uses data transfer protocols

  • +
  • allows any number of +conversations at the same time through many protocols

  • +
  • enables the transfer +of data to clients of the protocol stack and from clients of the protocol +stack

  • +
  • enables the transfer +of data to hardware and from hardware

  • +
+
Control Plane

The +Control Plane establishes, maintains and modifies the traffic, or conversations +in the Data Plane. Specifically, the Control Pane establishes, controls, re-binds +and tears down the Communications protocol stack based on commands from the +application and from the Management Plane.

The Data Plane sends the status of the link and other control information +to the Control Plane. The Control Plane processes the status of the link and +other control information, and allows the Data Plane to give the task of data +transfer the highest priority.

A connection can have a number of subconnections. +Subconnections can be called channels. The concepts of connection and subconnection +make it useful to divide the Control Plane into two parts.

The Data +Plane corresponds to the Sockets Server APIs: RConnection and RSubConnection.

Features

The Control Plane:

    +
  • creates the Data Plane

  • +
  • configures the Data +Plane modules from information provided by the client application or the Management +Plane

  • +
  • starts the Data Plane

  • +
  • controls and monitors +the Data Plane:

      +
    • acts on information +received from the data protocols

    • +
    • notifies the Management +Plane or the client application about changes to the state of the Control +Plane or the Data Plane.

    • +
  • +
  • stops the Data Plane

  • +
  • destroys the Data Plane

  • +
  • manages connection session +timers

  • +
  • manages connection data +channels and their properties

  • +
  • handles changes to the +status of the network and handles error reports

  • +
+
Management +Plane

The Management Plane maintains the configuration of the device, +monitors the availability of the network and makes policy decisions for the +Communications Framework. The Management Plane is the main location where +phone creators can customise the behaviour of the Communications protocol +stack.

The Management Plane corresponds to the Sockets Server API: RConnectionServ

Features

The Management Plane:

    +
  • selects, constructs +and manages the Communications protocol stack:

      +
    • selects the correct +protocol stack for a connection based on client and configuration preferences

    • +
    • manages the Control +Plane connections based on the policy set either in the configuration or at +run-time.

    • +
  • +
  • notifies interested +clients about the state of the Communications protocol stack, for example, +bearer and service availability

  • +
  • provides an entry point +for third-party plugins to customise and control the Communications protocol +stack

  • +
  • controls the Communications +protocol stack. This control is based on policy decisions

  • +
  • communicates with the +Control Plane to influence the behaviour of Control or Data flow operations +in the Communications protocol stack

  • +
  • supplies configuration +information to the Layer.

  • +
+
+Socket Server + +
\ No newline at end of file