Sink (computing)

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.

## Contents

* 1 In software engineering
* 2 In graph theory
* 3 In stream processing
* 4 Other uses
* 5 See also
* 6 References

## 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 article: 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.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Sink (computing). Read more

|

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