Add some data-flows jargon notes (re: #270)

samplerd_service
Tyler Goodlet 2022-11-24 16:15:35 -05:00
parent c85e7790de
commit 8e1ceca43d
1 changed files with 23 additions and 2 deletions

View File

@ -15,9 +15,10 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
Real-time data flow abstractions.
abstractions for organizing, managing and generally operating-on
real-time data processing data-structures.
<writeup on "buffers, streams, flumes and flows..">
"Streams, flumes, cascades and flows.."
"""
from contextlib import asynccontextmanager as acm
@ -52,6 +53,26 @@ if TYPE_CHECKING:
from .feed import Feed
# TODO: ideas for further abstractions as per
# https://github.com/pikers/piker/issues/216 and
# https://github.com/pikers/piker/issues/270:
# - a ``Cascade`` would be the minimal "connection" of 2 ``Flumes``
# as per circuit parlance:
# https://en.wikipedia.org/wiki/Two-port_network#Cascade_connection
# - could cover the combination of our `FspAdmin` and the
# backend `.fsp._engine` related machinery to "connect" one flume
# to another?
# - a (financial signal) ``Flow`` would be the a "collection" of such
# minmial cascades. Some engineering based jargon concepts:
# - https://en.wikipedia.org/wiki/Signal_chain
# - https://en.wikipedia.org/wiki/Daisy_chain_(electrical_engineering)
# - https://en.wikipedia.org/wiki/Audio_signal_flow
# - https://en.wikipedia.org/wiki/Digital_signal_processing#Implementation
# - https://en.wikipedia.org/wiki/Dataflow_programming
# - https://en.wikipedia.org/wiki/Signal_programming
# - https://en.wikipedia.org/wiki/Incremental_computing
class Flume(Struct):
'''
Composite reference type which points to all the addressing handles