''This is a breakthrough...'' Using the realigned implementation structure in `BufferProvider`, and especially the ability to establish an overarching context by passing an connection-ID through the `LocalTag` in the `BufferMetadata`, it was possible to resolve the longstanding mismatch buried deep within the `OutputSlot` implementation. Based on the new internal APIs in `BufferProvider`, it was thus possible to setup an `OututBufferProxy` that acts as a hub to connect the `DataSink` handles with the actual `OutputSlot::Connection` implementation. This change allowed to rectify the convoluted control structure in `OutputSlot` and finally to manage the Lifecycle properly. Furthermore, one level of unnecessary implementation-inheritance could be removed, so that it is no longer necessary to subclass `OutputSlot` in order to configure the link to a specific output backend. Using this redesigned internal structure, it was now fairly simple to re-implement a tracking `DiagnosticOutputSlot` and then to verify proper integration by passing the `OutputSlotProtocol_test` again.
8639 lines
231 KiB
XML
8639 lines
231 KiB
XML