ZMQ REP Sink
Beantwortet jede eingehende Anfrage eines ZMQ-REQ-Clients — die Serverseite des synchronen Request/Reply-Musters.
1. Beschreibung des Blocks
Der ZMQ REP Sink-Block bindet einen ZeroMQ-REP-Endpoint und beantwortet jede eingehende Anfrage eines ZMQ REQ Source-Clients mit dem nächsten verfügbaren Wert — als Stream-Item (ZMQ REP Sink) oder als Nachricht über einen Message-Port (ZMQ REP Message Sink). Der Block muss dabei denselben strikten Ping-Pong-Rhythmus einhalten wie sein Client-Gegenstück: erst empfangen, dann exakt einmal antworten, bevor die nächste Anfrage bedient wird.


2. Technischer Einsatz
Immer dann, wenn ein Flowgraph als Server auf gezielte Anfragen externer Prozesse antworten soll — z. B. um einen aktuellen Messwert, Status oder Konfigurationsparameter bereitzustellen, der nur bei Bedarf abgerufen wird. Für kontinuierliches Senden ohne Anfrage-Rhythmus ist stattdessen ZMQ PUB Sink (Broadcast an mehrere) oder ZMQ PULL Source mit einem PUSH-Gegenstück (Pipeline zu einem Abnehmer) die passendere Wahl.
3. Parameter und Dimensionierung
| Parameter | Typ/Einheit | Bedeutung | Dimensionierungshinweis |
|---|---|---|---|
Address |
String | ZeroMQ-Endpoint, z. B. tcp://*:5556 |
* bindet auf alle lokalen Netzwerkschnittstellen; für reinen Lokalbetrieb reicht tcp://127.0.0.1:5556 |
Timeout (msec) |
Millisekunden | wie lange auf eine eingehende Anfrage gewartet wird, bevor der Block einen Zyklus abschließt | Standard 100 ms; beeinflusst primär die Reaktionszeit beim Beenden des Flowgraphs |
Connection |
Enum (Bind/Connect) | ob der Block den Port öffnet (Bind) oder sich verbindet (Connect) | REP-Blöcke binden per Default — der Server ist die feste, bekannte Adresse, zu der sich Clients verbinden |
Pass Tags (nur Stream-Variante) |
Bool | ob Stream-Tags mit über den Socket übertragen werden | „Yes" nur, wenn die Gegenseite ebenfalls GNU Radio ist |
4. Ein- und Ausgänge
| Ein-/Ausgang | Typ |
|---|---|
| Eingang (ZMQ REP Sink) | beliebiger Stream-Typ (Complex, Float, Int, Short, Byte) |
| Eingang (ZMQ REP Message Sink) | Message-Port (PMT) |
| Ausgang | keiner (Senke) |
5. Weitere wichtige Aspekte
Bind vs. Connect nicht verwechseln: Binden beide Seiten (REP und REQ) auf denselben Port, schlägt der zweite Bind-Versuch fehl. Im Normalfall bindet der Server (REP), der Client (REQ) verbindet sich.