diff -r ebc84c812384 -r 46218c8b8afa Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita --- a/Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita Thu Mar 11 15:24:26 2010 +0000 +++ b/Symbian3/PDK/Source/GUID-18C39927-625C-5B24-919F-469FCBCD501D.dita Thu Mar 11 18:02:22 2010 +0000 @@ -1,158 +1,158 @@ - - - - - -BCA2 -API OverviewExplains the second Baseband Channel Abstraction design (BCA2). -
Required background

You -should be familiar with the following areas:

    -
  • architecture of device -drivers in Symbian platform (see Device -Drivers Concepts)

  • -
  • general principles of -a telephony stack (see Cellular -Baseband Services)

  • -
  • networking and telephony -components.

  • -
-
Key concepts -and terms

- -
BCA
-

Baseband Channel Adapter

-
- -
LDD
-

Logical device driver (see Device -Drivers Concepts)

-
- -
PPP
-

Point-to-Point Protocol (see What -is PPP?)

-
- -
HDLC
-

High-level Data Link Control

-
- -
ISDN
-

Integrated Services Digital Network

-
- -
ECUART
-

Serial RS232 driver for Symbian OS. UART means Universal Asynchronous -Receiver/Transmitter.

-
- -
C32
-

Serial Communications Server in Symbian OS (see Serial -Communications Server)

-
-
-
Introduction

The Baseband Channel Adapter (BCA) -provides a telephony-specific abstraction of the baseband driver.

You -implement your BCA components depending on the level of abstraction you require, -providing a standard interface to the component above it in the Communications -stack. You can also stack BCA components for more flexibility.

Performance -is a critical requirement for the Comms Data Plane. To improve throughput, -update your BCA components and your link layer protocol plugins to use the MBca2 interface.

-
Architecture

This -topic focuses on a general case where there is one BCA component between the -driver and the lower layer of the Data Plane. In the case of a stack of BCA -components, the same design is repeated between each BCA layer.

In -a "pull" communication model, the destination requests data from the source. -Data transfer happens when the destination is ready. In a "push" model, the -source provides data to the destination : data transfer happens when the source -is ready.

BCA2 is based on a "push" architecture. The link layer component -registers with the BCA component. The BCA component provides the data to its -registered clients as soon as the data becomes available.

The API -is split into five classes to separate control flow and data flow methods.

- MBca2 design - -

Moreover, the MBca2 interface -relies on shared buffers instead of regular buffers. Using shared buffers -avoids data copies between different layers of the stack. For more information, -see Memory Management -in the Communications Framework.

-
APIs

BCA component

- - - -API -Description - - - - -

MBca2

-

Provides startup and shutdown methods.

-
- -

MLowerDataSender

-

Provides the Send() method, which takes a RCommsBufChain as its parameter -and is called by the link layer component whenever it needs to send data to -the baseband (through the BCA component).

-
- -

MLowerControl

-

Provides methods for downwards flow control and control options. -The control options depend on your implementations of the BCA, the driver -and the link layer component. For examples of control options, see the BCA2 Control Options reference -page.

-
- - -

Link -layer component

- - - -API -Description - - - - -

MUpperDataReceiver

-

Provides the Process() method, which takes a RCommsBufChain as its parameter -and is called by the lower BCA component whenever data is available, in order -to push the data to the upper layer.

-
- -

MUpperDataControl

-

Provides methods for error management and upwards flow control.

-
- - -

In the case of stacked BCA components, these APIs are implemented -by the upper BCA component.

-
Typical uses

Device -driver developers implement the BCA2 design in the Networking stack (BCA components -and link layer protocol plugins).

The following three diagrams show -common BCA components and illustrate how they integrate with the Communications -Framework. For definition of the abbreviations used in the diagrams, see the Key -concepts and terms section.

- Use case for BCA: IP communication through the serial -port - - - Use case for BCA: PPP communication through the serial -port - - - Use case for BCA: PPP communication over Ethernet - - -
-
-BCA2 Control -Options + + + + + +BCA2 +API OverviewExplains the second Baseband Channel Abstraction design (BCA2). +
Required background

You +should be familiar with the following areas:

    +
  • architecture of device +drivers in Symbian platform (see Device +Drivers Concepts)

  • +
  • general principles of +a telephony stack (see Cellular +Baseband Services)

  • +
  • networking and telephony +components.

  • +
+
Key concepts +and terms

+ +
BCA
+

Baseband Channel Adapter

+
+ +
LDD
+

Logical device driver (see Device +Drivers Concepts)

+
+ +
PPP
+

Point-to-Point Protocol (see What +is PPP?)

+
+ +
HDLC
+

High-level Data Link Control

+
+ +
ISDN
+

Integrated Services Digital Network

+
+ +
ECUART
+

Serial RS232 driver for Symbian OS. UART means Universal Asynchronous +Receiver/Transmitter.

+
+ +
C32
+

Serial Communications Server in Symbian OS (see Serial +Communications Server)

+
+
+
Introduction

The Baseband Channel Adapter (BCA) +provides a telephony-specific abstraction of the baseband driver.

You +implement your BCA components depending on the level of abstraction you require, +providing a standard interface to the component above it in the Communications +stack. You can also stack BCA components for more flexibility.

Performance +is a critical requirement for the Comms Data Plane. To improve throughput, +update your BCA components and your link layer protocol plugins to use the MBca2 interface.

+
Architecture

This +topic focuses on a general case where there is one BCA component between the +driver and the lower layer of the Data Plane. In the case of a stack of BCA +components, the same design is repeated between each BCA layer.

In +a "pull" communication model, the destination requests data from the source. +Data transfer happens when the destination is ready. In a "push" model, the +source provides data to the destination : data transfer happens when the source +is ready.

BCA2 is based on a "push" architecture. The link layer component +registers with the BCA component. The BCA component provides the data to its +registered clients as soon as the data becomes available.

The API +is split into five classes to separate control flow and data flow methods.

+ MBca2 design + +

Moreover, the MBca2 interface +relies on shared buffers instead of regular buffers. Using shared buffers +avoids data copies between different layers of the stack. For more information, +see Memory Management +in the Communications Framework.

+
APIs

BCA component

+ + + +API +Description + + + + +

MBca2

+

Provides startup and shutdown methods.

+
+ +

MLowerDataSender

+

Provides the Send() method, which takes a RCommsBufChain as its parameter +and is called by the link layer component whenever it needs to send data to +the baseband (through the BCA component).

+
+ +

MLowerControl

+

Provides methods for downwards flow control and control options. +The control options depend on your implementations of the BCA, the driver +and the link layer component. For examples of control options, see the BCA2 Control Options reference +page.

+
+ + +

Link +layer component

+ + + +API +Description + + + + +

MUpperDataReceiver

+

Provides the Process() method, which takes a RCommsBufChain as its parameter +and is called by the lower BCA component whenever data is available, in order +to push the data to the upper layer.

+
+ +

MUpperDataControl

+

Provides methods for error management and upwards flow control.

+
+ + +

In the case of stacked BCA components, these APIs are implemented +by the upper BCA component.

+
Typical uses

Device +driver developers implement the BCA2 design in the Networking stack (BCA components +and link layer protocol plugins).

The following three diagrams show +common BCA components and illustrate how they integrate with the Communications +Framework. For definition of the abbreviations used in the diagrams, see the Key +concepts and terms section.

+ Use case for BCA: IP communication through the serial +port + + + Use case for BCA: PPP communication through the serial +port + + + Use case for BCA: PPP communication over Ethernet + + +
+
+BCA2 Control +Options
\ No newline at end of file