5. Vermittler (Intermediaries)
Ein Client kann an einer Ressource im Namensraum eines Servers interessiert sein, der über eine Kette von einem oder mehreren CoAP-Vermittlern (Intermediaries) erreicht wird. In diesem Fall registriert der Client sein Interesse beim ersten Vermittler in Richtung des Servers und verhält sich so, als würde er mit dem Server selbst kommunizieren, wie in Abschnitt 3 spezifiziert. Es ist die Aufgabe dieses Vermittlers, dem Client eine aktuelle Repräsentation der Zielressource bereitzustellen und die Repräsentation bei Änderungen des Ressourcenstatus aktuell zu halten, wie in Abschnitt 4 spezifiziert.
Um diese Aufgabe zu erfüllen, SOLLTE der Vermittler das in diesem Dokument spezifizierte Protokoll verwenden, die Rolle des Clients übernehmen und sein eigenes Interesse an der Zielressource beim nächsten Hop in Richtung des Servers registrieren. Wenn die vom nächsten Hop zurückgegebene Antwort keine Observe-Option enthält, KANN der Vermittler auf das Polling des nächsten Hops zurückgreifen oder selbst eine Antwort ohne Observe-Option zurückgeben.
Die Kommunikation zwischen jedem Hop-Paar ist unabhängig; jeder Hop in der Serverrolle MUSS individuell bestimmen, wie viele Benachrichtigungen gesendet werden sollen, welchen Nachrichtentyp usw. Jeder Hop MUSS seine eigenen Werte für die Observe-Option in Benachrichtigungen generieren und MUSS den Wert der Max-Age-Option entsprechend dem Alter der lokalen aktuellen Repräsentation setzen.
Wenn zwei oder mehr Clients ihr Interesse an einer Ressource bei einem Vermittler registriert haben, MUSS sich der Vermittler nur einmal beim nächsten Hop registrieren und die empfangenen Benachrichtigungen an alle registrierten Clients verteilen (Fan-Out). Dies entlastet den nächsten Hop davon, dieselben Benachrichtigungen mehrmals zu senden, und ermöglicht so Skalierbarkeit.
Ein Vermittler ist nicht verpflichtet, im Namen eines Clients zu handeln, um eine Ressource zu beobachten; ein Vermittler KANN eine Ressource beobachten, zum Beispiel nur um seinen eigenen Cache auf dem neuesten Stand zu halten.
Siehe Anhang A.2 für Beispiele.