bufferstreams: Add basic implementations of core BS traits
For BufferSubscriptions, this change provides a generic implenmentation that tracks requests and cancellations. For BufferPublishers and BufferSubscribers, we provide test implementations that let a user manually control the flow of events between the two objects. The traits themselves have also been updated to be more generic--instead of forcing Arc/Weak pointers for shared objects, we now use generic owned types for a BufferPublisher's BufferSubscriber and a BufferSubscriber's BufferSubscription. To make it possible to hold into a handle to a BufferSubscriber while a BufferPublisher owns it, we provide a generic implementation of BufferSubscriber for any Arc<BS: BufferSubscriber> that delegates to the underlying subscriber. Bug: 296449936, 296100790 Test: atest libbufferstreams-internal_test Change-Id: Ibbf925d2dfb85f606baa3dc1f9722440af4f862c
Loading
Please register or sign in to comment