nl::Weave::Binding

#include <src/lib/core/WeaveBinding.h>

Erfasst das beabsichtigte Ziel einer Weave-Kommunikation und zugehörige Konfigurationsinformationen.

Zusammenfassung

Ein Binding-Objekt identifiziert das beabsichtigte Ziel einer Weave-Kommunikation (auch als "Peer" bezeichnet), zusammen mit einer Reihe von Konfigurationsparametern, die beschreiben, wie die Kommunikation mit dem Peer erfolgen soll. Bindungen sind unabhängig vom Anwendungsprotokoll, das zwischen den beiden Parteien gesprochen wird. So erfassen sie das „Wer“, und das „Wie“ Kommunikation, aber nicht das „Was“.

Configuration

Anwendungen müssen eine Binding mit Parametern konfigurieren, die für den gewünschten Kommunikationskanal spezifisch sind. Bindungen unterstützen eine Reihe von Netzwerktransporten, einschließlich TCP, UDP, UDP mit Weave Reliable Messaging und Weave over BLE (WoBLE). Anwendungen können auch den Einsatz bestimmter Sicherheitsmechanismen anfordern, um Nachrichten zu schützen, die zwischen den Parteien gesendet werden. Dazu gehören CASE- und PASE-Sitzungen sowie Anwendungsgruppenschlüssel. Die Schnittstelle zum Konfigurieren einer Binding verwendet einen deklarativen API-Stil, über den Anwendungen ihre Anforderungen an die Kommunikation einfach formulieren können.

Weitere Informationen finden Sie in der Dokumentation zu Binding::Configuration.

Vorbereitung

Bevor eine Kommunikation stattfindet, muss eine Bindung vorbereitet werden. Bei der Vorbereitung einer Bindung wird der erforderliche Status für die Kommunikation geschaffen. Dazu gehören beispielsweise das Auflösen der Netzwerkadresse des Peers, das Herstellen einer Netzwerkverbindung und das Aushandeln von Sicherheitsschlüsseln. Nach der Konfiguration durch die Anwendung übernimmt die Binding alle Schritte, die zur Vorbereitung der Kommunikation erforderlich sind. Nach Abschluss des Vorgangs wird die Anwendung aufgerufen. Auf diese Weise verbergen Bindungen die Kommunikationsmechanismen, sodass sich Anwendungen auf die übergeordneten Interaktionen konzentrieren können.

Kommunikation

Sobald eine Binding vorbereitet wurde, ist sie einsatzbereit. In diesem Zustand fordern Anwendungen (oder häufiger Protokollschichtcode, der für eine Anwendung arbeitet) das Binding an, um einen Weave-Austauschkontext zuzuweisen. Der resultierende Austauschkontext ist für die Kommunikation vorkonfiguriert, sodass die Anwendung sofort einen Weave-Austausch mit dem Peer initiieren kann. Die Anwendung kann weiterhin Austauschkontexte aus der Bindung anfordern, bis die Bindung geschlossen wird oder ein Ereignis (z.B. ein Netzwerkfehler) den zugrunde liegenden Kommunikationskanal beendet.

Statusänderungen der Bindung

Im Laufe der Verwendung stellt ein Binding API-Ereignisse an die Anwendung bereit, um sie über Änderungen am Status der Bindung zu informieren. Wenn die Vorbereitung erfolgreich ist, erhält die Anwendung beispielsweise ein Ereignis, das sie darüber informiert, dass das Binding einsatzbereit ist. Wenn der zugrunde liegende Kommunikationskanal fehlschlägt, wird ein Ereignis an die Anwendung gesendet, um sie darüber zu informieren, dass die Binding nicht mehr im Status „Ready“ (Bereit) ist.

API-Ereignisse werden der Anwendung über eine Ereignis-Callback-Funktion gesendet, die beim Zuweisen der Binding bereitgestellt wird.

Bindunglebensdauer

Bindungen werden als Referenz gezählt, um die gemeinsame Nutzung über mehrere Softwarekomponenten hinweg zu ermöglichen. Wenn eine Binding zugewiesen wird, wird ein einzelner Verweis auf die Bindung erstellt. Die Anwendung ist dafür verantwortlich, diese Referenz an einem bestimmten Punkt in der Zukunft freizugeben, sodass die Bindung später kostenlos wiederverwendet werden kann.

Wenn eine Anwendung mit einem Binding abgeschlossen ist, kann sie Close() für die Bindung aufrufen. Dadurch wird der Verweis der Anwendung auf das Binding freigegeben und die weitere Übermittlung von API-Ereignissen blockiert. Wenn der letzte Verweis auf eine Binding freigegeben wird, wird er automatisch geschlossen.

Öffentliche Typen

@23{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef.
void(*
EventType{
  kEvent_ConnectionEstablished = 1,
  kEvent_BindingReady = 2,
  kEvent_PrepareFailed = 3,
  kEvent_BindingFailed = 4,
  kEvent_PrepareRequested = 5,
  kEvent_PASEParametersRequested = 6,
  kEvent_TAKEParametersRequested = 7,
  kEvent_DefaultCheck = 100
}
enum
State enum

Öffentliche Attribute

AppState
void *

Öffentliche Funktionen

AddRef(void)
void
Reservieren Sie einen Verweis auf das Bindungsobjekt.
AdjustResponseTimeout(ExchangeContext *apExchangeContext) const
Konfigurieren Sie einen vorhandenen Exchange-Kontext neu, um das Antwortzeitlimit anzupassen.
AllocateRightSizedBuffer(PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
BeginConfiguration()
Konfiguration der Binding.
CanBePrepared(void) const
bool
Close(void)
void
Schließen Sie das Binding-Objekt und geben Sie einen Verweis frei.
GetConnection() const
Ruft das mit der Bindung verknüpfte Weave-Verbindungsobjekt ab.
GetDefaultResponseTimeout() const
uint32_t
Rufen Sie das Standardzeitlimit für Austauschantworten ab, das bei der Kommunikation mit dem Peer verwendet werden soll.
GetDefaultWRMPConfig(void) const
const WRMPConfig &
Rufen Sie die WRMP-Standardkonfiguration ab, die bei der Kommunikation mit dem Peer verwendet werden soll.
GetEncryptionType(void) const
uint8_t
Rufen Sie den Nachrichtenverschlüsselungstyp ab, der beim Verschlüsseln von Nachrichten zum/vom Peer verwendet werden soll.
GetEventCallback() const
EventCallback
Ruft die Funktion ab, die aufgerufen wird, wenn ein API-Ereignis für die Binding eintritt.
GetExchangeManager() const
GetKeyId(void) const
uint32_t
Rufen Sie die ID des Nachrichtenverschlüsselungsschlüssels ab, der beim Verschlüsseln von Nachrichten zum/vom Peer verwendet werden soll.
GetLogId(void) const
uint16_t
Rufen Sie eine eindeutige ID für die Bindung ab.
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
uint32_t
Rufen Sie die maximale Weave-Nutzlastgröße ab, die in den mitgelieferten PacketBuffer passt.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
Erstellt einen String, der den Peer-Knoten und die zugehörigen Adress-/Verbindungsinformationen beschreibt.
GetPeerIPAddress(nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
void
Rufen Sie die IP-Adressinformationen für den Peer ab, falls verfügbar.
GetPeerNodeId(void) const
uint64_t
Rufen Sie die Knoten-ID des Bindungs-Peers ab.
GetProtocolLayerCallback(EventCallback & callback, void *& state) const
void
GetState(void) const
State
Rufen Sie den aktuellen Status der Bindung ab.
IsAuthenticMessageFromPeer(const WeaveMessageInfo *msgInfo)
bool
Ermitteln, ob eine bestimmte eingehende Nachricht von dem konfigurierten Peer stammt und angemessen authentifiziert wurde.
IsConnectionTransport() const
bool
IsPreparing(void) const
bool
IsReady(void) const
bool
IsUDPTransport() const
bool
IsUnreliableUDPTransport() const
bool
IsWRMTransport() const
bool
NewExchangeContext(ExchangeContext *& appExchangeContext)
Weisen Sie einen neuen Exchange-Kontext für die Kommunikation mit dem Peer zu, der das Ziel der Bindung ist.
Release(void)
void
Geben Sie einen Verweis auf das Binding-Objekt frei.
RequestPrepare()
Fordern Sie die Anwendung zum Konfigurieren und Vorbereiten der Binding an.
Reset(void)
void
Setzen Sie die Bindung auf einen nicht konfigurierten Status zurück.
SetDefaultResponseTimeout(uint32_t msec)
void
Legen Sie das Standardzeitlimit für die Austauschantwort fest, das bei der Kommunikation mit dem Peer verwendet werden soll.
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
void
Legen Sie die WRMP-Standardkonfiguration fest, die bei der Kommunikation mit dem Peer verwendet werden soll.
SetEventCallback(EventCallback aEventCallback)
void
Legen Sie fest, welche anwendungsdefinierte Funktion aufgerufen werden soll, wenn ein API-Ereignis für die Binding eintritt.
SetProtocolLayerCallback(EventCallback callback, void *state)
void
Legen Sie mithilfe von Binding im Namen einer Anwendung eine Ereignis-Callback-Funktion für Protokollschichtcode fest.

Öffentliche statische Funktionen

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
Standard-Handler für Bindungen von API-Ereignissen.

Klassen

nl::Weave::Binding::Configuration

Stellt eine Schnittstelle zum deklarativen Stil zum Konfigurieren und Vorbereiten eines Binding-Objekts bereit.

Strukturen

nl::Weave::Binding::InEventParam

Eingabeparameter für ein Binding-API-Ereignis.

nl::Weave::Binding::OutEventParam

Ausgabeparameter für ein Binding-API-Ereignis

Öffentliche Typen

23

 @23
Attribute
kGetPeerDescription_MaxLength

Maximale Länge des Strings (einschließlich NUL-Zeichen), die von GetPeerDescription() zurückgegeben wird.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType
Attribute
kEvent_BindingFailed

Die Bindung ist fehlgeschlagen und kann nicht mehr für die Kommunikation mit dem Peer verwendet werden.

kEvent_BindingReady

Die Vorbereitungsaktion für die Bindung war erfolgreich und die Bindung kann jetzt für die Kommunikation mit dem Peer verwendet werden.

kEvent_ConnectionEstablished

Die angeforderte Weave-Verbindung wurde hergestellt.

kEvent_DefaultCheck

Wird verwendet, um die korrekte Verarbeitung von Standardereignissen in der Anwendung zu prüfen.

kEvent_PASEParametersRequested

Von der Anwendung werden Parameter angefordert, die während der Einrichtung einer PASE-Sitzung verwendet werden sollen.

kEvent_PrepareFailed

Die Vorbereitungsaktion für die Bindung ist fehlgeschlagen.

kEvent_PrepareRequested

Die Anwendung wird aufgefordert, die Bindung zu konfigurieren und für die Verwendung durch den Netzwerkstack vorzubereiten.

kEvent_TAKEParametersRequested

Von der Anwendung werden Parameter angefordert, die beim Einrichten einer TAKE-Sitzung verwendet werden sollen.

Status

 State

Öffentliche Attribute

AppState

void * AppState

Öffentliche Funktionen

AddRef

void AddRef(
  void
)

Reservieren Sie einen Verweis auf das Bindungsobjekt.

AdjustResponseTimeout

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

Konfigurieren Sie einen vorhandenen Exchange-Kontext neu, um das Antwortzeitlimit anzupassen.

Details
Parameter
[in] apExchangeContext
Ein Zeiger auf ein Exchange-Kontextobjekt, das neu konfiguriert werden soll

AllocateRightSizedBuffer

WEAVE_ERROR AllocateRightSizedBuffer(
  PacketBuffer *& buf,
  const uint32_t desiredSize,
  const uint32_t minSize,
  uint32_t & outMaxPayloadSize
)

BeginConfiguration

Configuration BeginConfiguration()

Konfiguration der Binding.

Anwendungen müssen BeginConfiguration() aufrufen, um die Binding zu konfigurieren, bevor sie für die Kommunikation mit dem Peer vorbereitet werden kann.

Details
Rückgabe
Ein Binding::Configuration-Objekt, mit dem die Bindung konfiguriert werden kann.

CanBePrepared

bool CanBePrepared(
  void
) const 

Schließen

void Close(
  void
)

Schließen Sie das Binding-Objekt und geben Sie einen Verweis frei.

Wenn diese Methode aufgerufen wird, wechselt die Bindung in den Status „Geschlossen“. Alle laufenden Vorbereitungsaktionen für die Bindung werden abgebrochen und alle externen Kommunikationsressourcen der Bindung freigegeben.

Durch den Aufruf von Close() wird die mit der Bindung verknüpfte Referenzanzahl verringert. Das Objekt wird freigegeben, wenn die Referenzanzahl null wird.

GetConnection

WeaveConnection * GetConnection() const 

Ruft das mit der Bindung verknüpfte Weave-Verbindungsobjekt ab.

Details
Rückgabe
Ein Zeiger auf ein WeaveConnection-Objekt oder auf NULL, wenn der Bindung keine Verbindung zugeordnet ist.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

Rufen Sie das Standardzeitlimit für Austauschantworten ab, das bei der Kommunikation mit dem Peer verwendet werden soll.

Details
Rückgabe
Antwortzeitlimit in ms.

GetDefaultWRMPConfig

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

Rufen Sie die WRMP-Standardkonfiguration ab, die bei der Kommunikation mit dem Peer verwendet werden soll.

Details
Rückgabe
Ein Verweis auf eine WRMPConfig-Struktur, die die Standardkonfigurationswerte enthält.

GetEncryptionType

uint8_t GetEncryptionType(
  void
) const 

Rufen Sie den Nachrichtenverschlüsselungstyp ab, der beim Verschlüsseln von Nachrichten zum/vom Peer verwendet werden soll.

GetEventCallback

EventCallback GetEventCallback() const 

Ruft die Funktion ab, die aufgerufen wird, wenn ein API-Ereignis für die Binding eintritt.

Details
Rückgabe
Ein Zeiger auf die Callback-Funktion.

GetExchangeManager

WeaveExchangeManager * GetExchangeManager() const 

GetKeyId

uint32_t GetKeyId(
  void
) const 

Rufen Sie die ID des Nachrichtenverschlüsselungsschlüssels ab, der beim Verschlüsseln von Nachrichten zum/vom Peer verwendet werden soll.

GetLogId

uint16_t GetLogId(
  void
) const 

Rufen Sie eine eindeutige ID für die Bindung ab.

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const System::PacketBuffer *msgBuf
)

Rufen Sie die maximale Weave-Nutzlastgröße ab, die in den mitgelieferten PacketBuffer passt.

Bei UDP, einschließlich UDP mit WRM, sorgt die zurückgegebene maximale Nutzlastgröße dafür, dass die resultierende Weave-Nachricht die konfigurierte UDP-MTU nicht überläuft.

Außerdem sorgt diese Methode dafür, dass die Weave-Nutzlast den bereitgestellten PacketBuffer nicht überläuft.

Details
Parameter
[in] msgBuf
Ein Zeiger auf den PacketBuffer, in den die Nachrichtennutzlast geschrieben wird.
Rückgabe
Die maximale Weave-Nutzlastgröße.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

Erstellt einen String, der den Peer-Knoten und die zugehörigen Adress-/Verbindungsinformationen beschreibt.

Details
Parameter
[in] buf
Ein Zeiger auf einen Puffer, in den die Zeichenfolge geschrieben werden soll. Der bereitgestellte Puffer sollte mindestens so groß sein wie kGetPeerDescription_MaxLength. Wenn ein kleinerer Puffer angegeben wird, wird die Zeichenfolge abgeschnitten. Die Ausgabe enthält in allen Fällen ein NUL-Beendigungszeichen.
[in] bufSize
Die Größe des Zwischenspeichers, auf den der Puffer verweist.

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

Rufen Sie die IP-Adressinformationen für den Peer ab, falls verfügbar.

Die Verfügbarkeit der IP-Adressinformationen des Peers hängt vom Status und der Konfiguration der Bindung ab. Informationen zu IP-Adressen sind nur bei Verwendung eines IP-basierten Transports (TCP, UDP oder UDP mit WRMP) verfügbar. Vor Beginn der Vorbereitung sind Adressinformationen nur verfügbar, wenn sie bei der Konfiguration ausdrücklich von der Anwendung festgelegt wurden. Während der Vorbereitungsphase sind Adressinformationen verfügbar, wenn die Adressvorbereitung abgeschlossen ist, z.B. nach Abschluss der DNS-Auflösung. Nachdem die Bindung bereit ist, bleiben die Adressinformationen verfügbar, bis die Bindung zurückgesetzt wird.

Details
Parameter
[out] address
Ein Verweis auf ein IPAddress-Objekt, das die IP-Adresse des Peers erhält. Wenn die Informationen zur IP-Adresse des Peers nicht verfügbar sind, wird dieser Wert auf IPAddress::Any gesetzt.
[out] port
Ein Verweis auf eine Ganzzahl, die die Portnummer des Peers erhält. Wenn die Informationen zur IP-Adresse des Peers nicht verfügbar sind, ist dieser Wert nicht definiert.
[out] interfaceId
Ein Verweis auf eine Ganzzahl, die die ID der Netzwerkschnittstelle erhält, über die der Peer erreicht werden kann. Wenn die Informationen zur IP-Adresse des Peers nicht verfügbar sind, ist dieser Wert nicht definiert.

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

Rufen Sie die Knoten-ID des Bindungs-Peers ab.

Erst gültig, wenn das Binding-Objekt vorbereitet wurde.

Details
Rückgabe
Weave-Knoten-ID des Peers

GetProtocolLayerCallback

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

GetState

State GetState(
  void
) const 

Rufen Sie den aktuellen Status der Bindung ab.

Details
Rückgabe
Der Bindungsstatus.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

Ermitteln, ob eine bestimmte eingehende Nachricht von dem konfigurierten Peer stammt und angemessen authentifiziert wurde.

Mit dieser Methode werden die folgenden Details zur angegebenen Nachricht bestätigt:

  • Die Nachricht stammt vom Peer-Knoten der Bindung
  • Die Nachricht wurde über denselben Transporttyp wie die Bindung empfangen. Wenn die Nachricht über eine Verbindung empfangen wurde, bestätigt die Methode auch, dass die Nachricht über genau die Verbindung empfangen wurde, die der Bindung zugeordnet ist.
  • Der Verschlüsselungsschlüssel und der Verschlüsselungstyp, die zum Verschlüsseln der Nachricht verwendet werden, entsprechen den in der Bindung konfigurierten Daten. Bei Bindungen, die ohne Sicherheit konfiguriert wurden, bestätigt die Methode, dass die eingehende Nachricht NICHT verschlüsselt ist.

Diese Methode ist für die Verwendung in Protokollen wie WDM vorgesehen, bei denen Peers nach einem ersten Austausch vom Knoten zum Peer spontan den Austausch zurück zum lokalen Knoten initiieren können. In solchen Fällen ermöglicht die Methode dem lokalen Knoten zu bestätigen, dass die eingehende unerwünschte Nachricht vom zugehörigen Peer gesendet wurde. Für Bindungen, die ohne Nachrichtenverschlüsselung konfiguriert wurden, bietet diese Assertion aus Sicherheitsgründen keinen Mehrwert. Er bestätigt lediglich, dass die Senderknoten-ID und die Transporttypen übereinstimmen.)

Wenn sich die Bindung nicht im Status „Bereit“ befindet, gibt diese Methode immer „false“ zurück.

Details
Parameter
[in] msgInfo
Die Informationen der Weave-Nachricht für die eingehende Nachricht.
Rückgabe
"True", wenn die Nachricht authentisch vom Peer stammt.

IsConnectionTransport

bool IsConnectionTransport() const 

IsPreparing

bool IsPreparing(
  void
) const 

Details
Rückgabe
"True", wenn die Binding gerade vorbereitet wird.

IsReady

bool IsReady(
  void
) const 

Details
Rückgabe
"True", wenn die Binding im Status „Bereit“ ist.

IsUDPTransport

bool IsUDPTransport() const 

IsUnreliableUDPTransport

bool IsUnreliableUDPTransport() const 

IsWRMTransport

bool IsWRMTransport() const 

NewExchangeContext

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

Weisen Sie einen neuen Exchange-Kontext für die Kommunikation mit dem Peer zu, der das Ziel der Bindung ist.

Details
Parameter
[out] appExchangeContext
Ein Verweis auf einen Zeiger, der das neu zugewiesene Exchange Context-Objekt empfängt. Der Zeiger wird auf NULL gesetzt, wenn die Methode fehlschlägt.
Rückgabewerte
WEAVE_NO_ERROR
Ob der Exchange-Kontext erfolgreich zugewiesen wurde.
WEAVE_ERROR_NO_MEMORY
Wenn kein Arbeitsspeicher zum Zuweisen des Exchange-Kontexts verfügbar ist.
WEAVE_ERROR_INCORRECT_STATE
Wenn die Bindung nicht den Status „Bereit“ hat.
other
Andere Fehler im Zusammenhang mit der Konfiguration des Exchange-Kontexts auf der Grundlage der Konfiguration der Bindung.

Release

void Release(
  void
)

Geben Sie einen Verweis auf das Binding-Objekt frei.

Wenn es keine weiteren Verweise auf das Bindungsobjekt gibt, wird die Bindung geschlossen und freigegeben.

RequestPrepare

WEAVE_ERROR RequestPrepare()

Fordern Sie die Anwendung zum Konfigurieren und Vorbereiten der Binding an.

Code der Protokollschicht kann diese Methode für eine Binding verwenden, die nicht konfiguriert wurde oder fehlgeschlagen ist, um ein Ereignis für die Anwendung (kEvent_PrepareRequested) auszulösen und die Bindung zu konfigurieren und für die Verwendung vorzubereiten.

Diese Methode kann nur für Bindungen mit dem Status „Nicht konfiguriert“ oder „Fehlgeschlagen“ aufgerufen werden.

Wenn die Anwendung die On-Demand-Konfiguration/Vorbereitung von Bindungen nicht unterstützt, schlägt die Methode mit dem Fehler WEAVE_ERROR_NOT_IMPLEMENTED fehl.

Zurücksetzen

void Reset(
  void
)

Setzen Sie die Bindung auf einen nicht konfigurierten Status zurück.

Wenn Reset() aufgerufen wird, werden alle laufenden Vorbereitungsaktionen für die Bindung abgebrochen und alle externen Kommunikationsressourcen, die von der Bindung gehalten werden, freigegeben. Durch Reset() wird die Bindung in den Status „Nicht konfiguriert“ gesetzt. Danach kann sie wieder konfiguriert und vorbereitet werden.

Durch Reset() wird die Referenzanzahl der Bindung nicht geändert.

SetDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

Legen Sie das Standardzeitlimit für die Austauschantwort fest, das bei der Kommunikation mit dem Peer verwendet werden soll.

Details
Parameter
[in] timeout
Das neue Antwortzeitlimit in ms.

SetDefaultWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

Legen Sie die WRMP-Standardkonfiguration fest, die bei der Kommunikation mit dem Peer verwendet werden soll.

Details
Parameter
[in] aWRMPConfig
Ein Verweis auf eine WRMPConfig-Struktur, die die neue Standardkonfiguration enthält.

SetEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

Legen Sie fest, welche anwendungsdefinierte Funktion aufgerufen werden soll, wenn ein API-Ereignis für die Binding eintritt.

Details
Parameter
[in] aEventCallback
Ein Zeiger auf die Callback-Funktion.

SetProtocolLayerCallback

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

Legen Sie mithilfe von Binding im Namen einer Anwendung eine Ereignis-Callback-Funktion für Protokollschichtcode fest.

Diese Funktion wird zusätzlich zur anwendungsdefinierten Callback-Funktion aufgerufen, wenn für das Binding API-Ereignisse auftreten.

Details
Parameter
[in] callback
Ein Zeiger auf die Callback-Funktion.
[in] state
Ein Zeiger auf ein Zustandsobjekt, das an den Protokollschichtcode geliefert wird, wenn ein Protokollschicht-Callback auftritt.

Öffentliche statische Funktionen

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Standard-Handler für Bindungen von API-Ereignissen.

Anwendungen müssen diese Methode für alle API-Ereignisse aufrufen, die sie nicht erkennen oder verarbeiten. Die angegebenen Parameter müssen denjenigen entsprechen, die von der Bindung an die Ereignis-Handler-Funktion der Anwendung übergeben werden.

Details
Parameter
[in] apAppState
Ein Verweis auf anwendungsdefinierte Statusinformationen, die mit der Bindung verknüpft sind.
[in] aEvent
Vom Ereignis-Callback übergebene Ereignis-ID
[in] aInParam
Referenz von Eingabeereignisparametern, die vom Ereignis-Callback übergeben werden
[in] aOutParam
Referenz von Ausgabeereignisparametern, die vom Ereignis-Callback übergeben werden