Sink (Computing)

From Handwiki

In computing, a sink, or data sink generally refers to the destination of data flow. The word sink has multiple uses in computing. In software engineering, an event sink is a class or function that receives events from another object or function, while a sink can also refer to a node of a directed acyclic graph with no additional nodes leading out from it, among other uses.

In software engineering

An event sink is a class or function designed to receive incoming events from another object or function. This is commonly implemented in C++ as callbacks. Other object-oriented languages, such as Java and C#, have built-in support for sinks by allowing events to be fired to delegate functions.

Due to lack of formal definition, a sink is often misconstrued with a gateway, which is a similar construct but the latter is usually either an end-point or allows bi-direction communication between dissimilar systems, as opposed to just an event input point[citation needed]. This is often seen in C++ and hardware-related programming[citation needed], thus the choice of nomenclature by a developer usually depends on whether the agent acting on a sink is a producer or consumer of the sink content.

In graph theory

Main page: Directed acyclic graph

In a Directed acyclic graph, a source node is a node (also known as a vertex) with no incoming connections from other nodes, while a sink node is a node without outgoing connections.[1]

Directed acyclic graphs are used in instruction scheduling, neural networks and data compression.

In stream processing

In several computer programs employing streams, such as GStreamer, PulseAudio, or PipeWire, a source is the starting point of a pipeline which produces a stream but does not consume any, while a sink is the end point which accepts a stream without producing any.[2]

An example is an audio pipeline in the PulseAudio sound system. An input device such as a microphone is a type of audio source, while an output device like a speaker is the audio sink.[3]

Other uses

The word sink has been used for both input and output in the industry.[citation needed] Mobile sink is proposed to save sensor energy for multihop communication in transferring data to a base station (sink) in wireless sensor networks.

See also

  • Flow network
  • Event-driven architecture

References

  1. "What is a sink in graph theory?". https://askinglot.com/what-is-a-sink-in-graph-theory. [|permanent dead link|dead link}}]
  2. "Elements". https://gstreamer.freedesktop.org/documentation/application-development/basics/elements.html#sink-elements. 
  3. "About – PulseAudio". https://www.freedesktop.org/wiki/Software/PulseAudio/About/#aboutpulseaudio. 




Retrieved from "https://handwiki.org/wiki/index.php?title=Sink_(computing)&oldid=3433262"

Categories: [Object-oriented programming] [Network theory] [Networks]


Download as ZWI file | Last modified: 08/21/2024 12:20:15 | 6 views
☰ Source: https://handwiki.org/wiki/Sink_(computing) | License: CC BY-SA 3.0

ZWI is not signed. [what is this?]