En informática , un sumidero , o destino de datos , generalmente se refiere al lugar donde se produce el flujo de datos.
El término "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 dirigido acíclico sin nodos adicionales que partan de él, entre otros usos.
En ingeniería de software
Un receptor de eventos es una clase o función diseñada para recibir eventos provenientes de otro objeto o función. En C++, esto se implementa comúnmente mediante funciones de devolución de llamada . Otros lenguajes orientados a objetos , como Java y C# , ofrecen soporte integrado para receptores de eventos, permitiendo que estos se activen para delegar funciones.
Debido a la falta de una definición formal, a menudo se confunde un sumidero con una puerta de enlace, que es una estructura similar, pero esta última suele ser un punto final o permite la comunicación bidireccional entre sistemas diferentes, a diferencia de un simple punto de entrada de eventos . Esto se observa con frecuencia en C++ y en la programación relacionada con el hardware , por lo que la elección de la nomenclatura por parte del desarrollador generalmente depende de si el agente que actúa sobre un sumidero es un productor o un consumidor del contenido del mismo.
En teoría de grafos
En un grafo dirigido acíclico , un nodo fuente 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 grafos acíclicos dirigidos se utilizan en la planificación de instrucciones , las redes neuronales y la compresión de datos .
En el procesamiento de flujos
En varios programas informáticos que emplean flujos de datos, 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 realizar alguna función de procesamiento sobre 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 envía datos a un receptor para su consumo. La señal de audio se pone a disposición como una fuente de audio, que puede haber sido procesada , por ejemplo, ajustando el volumen. Normalmente, también pasa por otras etapas, como la mezcla de audio. De esta forma, 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 el audio y, finalmente, emite el audio procesado desde su fuente. Esto se denomina fuente de salida en PulseAudio. 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) en los sistemas. La terminología es exactamente análoga a la utilizada en otros ámbitos, como la ingeniería eléctrica. [ 4 ]
Otros usos
El término sumidero se ha utilizado tanto para entrada como para salida en la industria. Se propone un sumidero móvil para ahorrar energía de los sensores en la comunicación de múltiples saltos al transferir datos a una estación base (sumidero) en redes de sensores inalámbricas .
Véase también
Referencias
- Programación orientada a objetos
- teoría de redes
- Redes
- Cálculo de stubs