En informática , un sumidero o receptor de datos generalmente se refiere al destino del flujo de datos.
La palabra sumidero tiene múltiples usos en informática. En ingeniería de software , un sumidero de eventos es una clase o función que recibe eventos de otro objeto o función, mientras que un sumidero también puede referirse a un nodo de un grafo acíclico dirigido sin nodos adicionales que salgan de él, entre otros usos.
Un receptor de eventos es una clase o función diseñada para recibir eventos entrantes de otro objeto o función. Esto se implementa comúnmente en C++ como devoluciones de llamadas . Otros lenguajes orientados a objetos , como Java y C# , tienen soporte integrado para receptores al permitir que se activen eventos para delegar funciones.
Debido a la falta de una definición formal, un sumidero suele confundirse con una puerta de enlace, que es una construcción similar pero esta última suele ser un punto final o permite la comunicación bidireccional entre sistemas diferentes, en lugar de ser solo un punto de entrada de eventos [ cita requerida ] . Esto se ve a menudo en C++ y en la programación relacionada con el hardware [ cita requerida ] , por lo que la elección de la nomenclatura por parte de un desarrollador suele depender de si el agente que actúa sobre un sumidero es un productor o un consumidor del contenido del sumidero.
En un gráfico acíclico dirigido , un nodo de origen es un nodo (también conocido como vértice ) sin conexiones entrantes de otros nodos, mientras que un nodo sumidero es un nodo sin conexiones salientes. [1]
Los gráficos acíclicos dirigidos se utilizan en la programación de instrucciones , redes neuronales y compresión de datos .
En varios programas informáticos que emplean flujos, como GStreamer , PulseAudio o PipeWire , un sumidero es el punto de inicio de una tubería que consume un flujo de datos, mientras que una fuente es el punto final que emite un flujo de datos (a menudo después de haber realizado alguna función de procesamiento en los datos). [2]
Un ejemplo es una tubería de audio en el sistema de sonido PulseAudio . Un dispositivo de entrada como un micrófono es un dispositivo de audio que enviará datos a un receptor para su consumo. La señal de audio se pondrá a disposición como una fuente de audio, que puede haber sido procesada, como un ajuste de volumen. Normalmente, también pasará por otras etapas, como la mezcla de audio. De esta manera, el procesamiento de ajuste de volumen recibe muestras de audio a través de su receptor, las emite desde su fuente, que luego se conecta a un receptor mezclador, que mezcla audio y, en última instancia, emite el audio procesado desde su fuente. En PulseAudio, se lo denomina fuente de salida. La configuración y conexión de estas tuberías puede ser compleja y dinámica. [3]
Los términos sumidero y fuente pueden resultar confusos, pero se refieren específicamente al punto de entrada (fuente) y salida (sumidero) de los sistemas. La terminología es exactamente análoga a la que se utiliza en otros ámbitos, como la ingeniería eléctrica. [4]
Se propone que el término sumidero se utilice tanto para entrada como para salida en la industria. [ cita requerida ] Se propone que el término sumidero móvil ahorre energía del sensor para la comunicación de múltiples saltos al transferir datos a una estación base (sumidero) en redes de sensores inalámbricos .