You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`AsyncByteStreamBufferAdapter` is a passive F´ component that mediates between the `AsyncByteStreamDriver` interface and the `PassiveBufferDriver` interface. It enables asynchronous byte stream drivers to be used as passive buffer drivers by adapting the interfaces and managing buffer ownership transitions.
6
+
7
+
The component allows an asynchronous byte stream driver implementation to be transparently used by components that expect a passive buffer driver interface, providing flexibility in topology design.
8
+
9
+
## 2 Requirements
10
+
11
+
12
+
| Name | Description | Validation |
13
+
|------|-------------|------------|
14
+
| DRV-ASYNC-BSB-ADAPTER-001 | The component shall adapt the AsyncByteStreamDriver interface to the PassiveBufferDriver interface | Unit Test |
15
+
| DRV-ASYNC-BSB-ADAPTER-002 | The component shall handle buffer ownership transfers between the two interfaces | Unit Test |
16
+
| DRV-ASYNC-BSB-ADAPTER-003 | The component shall monitor the AsyncByteStreamDriver readiness state | Unit Test |
17
+
| DRV-ASYNC-BSB-ADAPTER-004 | The component shall emit events on error conditions | Unit Test |
18
+
19
+
## 3 Design
20
+
21
+
### 3.1 Assumptions
22
+
23
+
The design of `AsyncByteStreamBufferAdapter` assumes the following:
24
+
25
+
1. The async byte stream driver will properly signal ready status before accepting data.
26
+
2. Buffer ownership follows the standard Return-To-Sender pattern: buffers are owned by the receiver until returned.
27
+
3. The async byte stream driver operates correctly and returns buffers sent to it when it is done processing.
28
+
29
+
### 3.2 State
30
+
31
+
`AsyncByteStreamBufferAdapter` maintains a single state variable:
32
+
33
+
***m_driverIsReady**: An atomic boolean flag indicating whether the async byte stream driver is ready to accept data. Initialized to `false` and set to `true` when a ready signal is received from the driver.
0 commit comments