@@ -3,6 +3,25 @@ This class manages the streaming of `FrameSet`s. It is entirely responsible for
## Requirements
### 1. Creation and Configuration
### 2. External Frame Generation
### 3. Receipt and Filtering
### 4. Statistics and Metadata
## Design
## Discussion
There are two primary modes to this class, one is being the owner of a generating source who injects Frames and the other is an observer who receives Frames but has the ability to modify the state. A single Feed class may take on both roles depending on the frame set identifier.
It should be possible to merge multiple sources into a single frameset, currently this occurs inside the `Stream` objects through a multiplexing/demultiplexing process.
Frame set identifiers must also be allocated.
What about stream discovery and enabling discovered streams within a feed? Most probably the discovery process should be a different class and that URIs are used. The discovery process ought to be capable of obtaining meta-data about the streams.
Feeds can also produce output streams with particular URIs, it needs to be possible to add/remove these. Each output stream may also have filtering applied by sender to limit which sources and frame sets can be sent on that stream.
Should the feed class be responsible for providing all meta-data about added streams, even if those streams are not enabled for receiving data? What is that meta-data?