nl::Weave::ExchangeContext

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

Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir ileti dizisini (ExchangeContext) temsil eder.

Özet

ExchangeContext'teki Weave mesajlarını çeşitli aktarım mekanizmaları (ör. TCP, UDP veya Weave Güvenilir Mesajlaşma) üzerinden kodlama ve iletme yöntemlerini tanımlar.

Herkese açık türler

@34{
  kSendFlag_AutoRetrans = 0x0001,
  kSendFlag_ExpectResponse = 0x0002,
  kSendFlag_RetransmissionTrickle = 0x0004,
  kSendFlag_DelaySend = 0x0008,
  kSendFlag_ReuseMessageId = 0x0010,
  kSendFlag_ReuseSourceId = 0x0020,
  kSendFlag_RetainBuffer = 0x0040,
  kSendFlag_AlreadyEncoded = 0x0080,
  kSendFlag_DefaultMulticastSourceAddress = 0x0100,
  kSendFlag_FromInitiator = 0x0200,
  kSendFlag_RequestAck = 0x0400,
  kSendFlag_NoAutoRequestAck = 0x0800,
  kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
enum
@35{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) Tür
void(*
Bu işlev, mevcut bir Weave bağlantısı kapatıldığında çağrılacak uygulama geri çağırmasıdır.
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr) Tür
void(*
Temel hata mesajı işleme işlevinin türü.
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) Tür
void(*
Bu işlev, alınan bir Weave mesajını işlemek için uygulama geri çağırmasıdır.
ResponseTimeoutFunct)(ExchangeContext *ec) Tür
void(*
Bu işlev, yanıt mesajı alımı için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırmadır.
RetransmissionTimeoutFunct)(ExchangeContext *ec) Tür
void(*
Bu işlev, daha önce gönderilen bir iletinin yeniden aktarımı için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırmadır.
Timeout Tür
uint32_t
Bu ExchangeContext'teki zaman aşımını ifade etmek için kullanılan milisaniye cinsinden tür.
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) Tür
void(*
Bu işlev, Weave Güvenilir Mesajlaşma Protokolü kapsamında bir mesaj isteyen Weave mesajı için onay alındığında gönderilecek uygulama geri çağırmasıdır.
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) Tür
void(*
Bu işlev, Weave Güvenilir Mesajlaşma Protokolü'nün bir parçası olarak Kısıtlama mesajı veya Gecikmeli Teslim mesajı alındığında çağırılacak uygulama geri çağırmasıdır.
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) Tür
void(*
Bu işlev, Weave mesajı gönderilirken bir hatayla karşılaşıldığında uygulanacak uygulama geri çağırma işlemidir.

Herkese açık özellikler

AllowDuplicateMsgs
bool
Belirli bir exchange için yinelenen iletilere izin verilip verilmediğinin Boole göstergesi.
AppState
void *
Uygulamaya özel durum nesnesinin işaretçisi.
Con
[Salt Okunur] İlişkilendirilmiş Ağ bağlantısı.
EncryptionType
uint8_t
İleti gönderirken kullanılacak şifreleme türü.
ExchangeId
uint16_t
[Salt Okunur] Atanan exchange kimliği.
ExchangeMgr
[Salt Okunur] Sahibi olan exchange yöneticisi.
KeyId
uint16_t
İleti gönderirken kullanılacak şifreleme anahtarı.
OnAckRcvd
Alınan onay için başvuru geri çağırma.
OnConnectionClosed
OnDDRcvd
Alınan Gecikmeli Teslimat mesajı için başvuru geri çağırma.
OnKeyError
Bu işlev, eşten anahtar hatası mesajı alındığında çağrılacak uygulama geri çağırmadır.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Gönderilirken bir hata için uygulama geri çağırma.
OnThrottleRcvd
Alınan Kısıtlama mesajı için uygulama geri çağırma.
PeerAddr
IPAddress
[Salt Okunur] Eş düğümünün IP adresi.
PeerIntf
InterfaceId
[Salt Okunur] Eşe mesaj gönderirken kullanılacak giden arayüz.
PeerNodeId
uint64_t
[Salt Okunur] Eş düğümünün düğüm kimliği.
PeerPort
uint16_t
[Salt okunur] Eş düğümün bağlantı noktası.
ResponseTimeout
Yanıt için beklenecek maksimum süre (milisaniye cinsinden); 0, yanıt zaman aşımını devre dışı bırakır.
RetransInterval
uint32_t
Yeniden iletimler arasındaki süre (milisaniye cinsinden); 0 yeniden iletimleri devre dışı bırakır.
mMsgProtocolVersion
uint16_t
ExchangeContext için İleti Protokolü sürümü.
mWRMPConfig
WRMP yapılandırması.

Herkese açık işlevler

Abort(void)
void
Exchange bağlamını hemen iptal edin ve tüm referansları bırakın.
AddRef(void)
void
Exchange bağlamı için referans sayacını birle artır.
AutoRequestAck() const
bool
İleti gönderildiğinde onay istenip istenmeyeceğini döndürür.
CancelRetrans(void)
void
Trickle'in yeniden gönderme mekanizmasını iptal edin.
Close(void)
void
Exchange bağlamını zarif bir şekilde kapatın.
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Exchange üstbilgisini bir ileti arabelleğine kodlayın.
GetAutoReleaseKey() const
bool
Exchange serbest bırakıldığında exchange ile ilişkili şifreleme anahtarının serbest bırakılıp bırakılmayacağına dön.
GetCurrentRetransmitTimeout(void)
uint32_t
Mevcut yeniden aktarım zaman aşımını öğrenin.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
Eş düğümünü ve ilişkili adres / bağlantı bilgilerini açıklayan bir dize oluşturur.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Exchange bağlamındaki aldatıcı mesajı ele alın.
HasPeerRequestedAck(void) const
bool
Eşin bu exchange'deki en az bir ileti için onay isteyip istemediğini belirleyin.
HasRcvdMsgFromPeer(void) const
bool
Bu exchange'de benzerler arasından en az bir mesajın alınıp alınmadığını belirleyin.
IsAckPending(void) const
bool
Bu exchange'de eşe gönderilmesini bekleyen bir onay olup olmadığını belirleyin.
IsConnectionClosed(void) const
bool
ExchangeContext'in ilişkilendirilmiş etkin bir WeaveConnection bağlantısı olup olmadığını belirleyin.
IsInitiator(void) const
bool
Bağlamın exchange'i başlatan olup olmadığını belirleyin.
IsResponseExpected(void) const
bool
Bu exchange üzerinden gönderilen iletiler için yanıt alınıp alınmayacağını belirleyin.
Release(void)
void
Bu exchange bağlamına sürüm referansı.
SendCommonNullMessage(void)
Common::Null mesajı gönder.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Bu exchange'de bir Weave mesajı gönderin.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Bu exchange'de bir Weave mesajı gönderin.
SetAckPending(bool inAckPending)
void
Bir onayın bu exchange'de eşe geri gönderilmesi gerekip gerekmediğini belirtin.
SetAutoReleaseKey(bool autoReleaseKey)
void
Exchange serbest bırakıldığında exchange ile ilişkili şifreleme anahtarının serbest bırakılması gerekip gerekmediğini ayarlayın.
SetAutoRequestAck(bool autoReqAck)
void
İleti gönderildiğinde onay istenip istenmeyeceğini belirleyin.
SetConnectionClosed(bool inConnectionClosed)
void
kFlagConnectionClosed işaret bitini ayarlayın.
SetDropAck(bool inDropAck)
void
WeaveExchangeManager'ın bu bağlam için onay gönderip göndermeyeceğini ayarlayın.
SetInitiator(bool inInitiator)
void
kFlagInitiator flag bitini ayarlayın.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
Bu exchange'de benzerler arasından bir mesaj alınıp alınmadığını ayarlayın.
SetPeerRequestedAck(bool inPeerRequestedAck)
void
Bu exchange'de alınan son iletide onay istenip istenmediğini ayarlayın.
SetResponseExpected(bool inResponseExpected)
void
Bu exchange'de bir yanıtın beklenen olup olmadığını belirleyin.
SetShouldAutoReleaseConnection(bool autoReleaseCon)
void
Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının serbest bırakılıp bırakılmayacağını ayarlayın.
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
İlgili yeniden iletim aralığını ve yeniden yayınlama eşiğini ayarlayarak kimlik avı yeniden gönderme mekanizmasını ayarlayın.
ShouldAutoReleaseConnection() const
bool
Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının serbest bırakılıp bırakılmayacağına dön.
ShouldDropAck(void) const
bool
WeaveExchangeManager'ın onay gönderip göndermemesi gerektiğini belirleyin.
StartTimerT(void)
Trickle yeniden yayınlama algoritmasının periyodik yeniden iletim zamanlayıcı mekanizmasını başlatın.
TeardownTrickleRetransmit(void)
void
Trickle'da periyodik zamanlayıcıları iptal edip Weave mesajını basılı tutarak mesaj arabelleğini boşaltarak Trickle yeniden iletim mekanizmasını yok edin.
UseEphemeralUDPPort(void) const
bool
Exchange üzerinden gönderilen giden iletilerin yerel geçici UDP bağlantı noktasından gönderilip gönderilmeyeceğini döndürün.
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Gönderen düğüme, alıcıya teslim edilmeden önce beklenen bir gecikme yaşanacağını bildirmek için Gecikmeli Teslim İletisi gönderin.
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
Eşler düğümüne mesaj göndermenin kısıtlanmasını isteyen bir Akış Akışı mesajı gönderin.

Herkese açık türler

@34

 @34
Özellikler
kSendFlag_AlreadyEncoded

İletinin zaten kodlandığını belirtmek için kullanılır.

kSendFlag_AutoRetrans

Otomatik yeniden göndermenin etkinleştirildiğini belirtmek için kullanılır.

kSendFlag_DefaultMulticastSourceAddress

IPv6 çoklu yayın mesajları gönderilirken varsayılan IPv6 kaynak adresi seçiminin kullanılması gerektiğini belirtmek için kullanılır.

kSendFlag_DelaySend

Geçerli iletinin gönderilmesinin ertelenmesi gerektiğini belirtmek için kullanılır.

kSendFlag_ExpectResponse

Belirtilen zaman aşımı süresi içinde bir yanıtın beklendiğini belirtmek için kullanılır.

kSendFlag_FromInitiator

Geçerli mesajın exchange'i başlatan olduğunu belirtmek için kullanılır.

kSendFlag_MulticastFromLinkLocal

kSendFlag_DefaultMulticastSourceAddress için takma ad kullanımdan kaldırıldı.

kSendFlag_NoAutoRequestAck

Mesaj gönderirken otomatik istek onayı özelliğini gizle.

kSendFlag_RequestAck

Onay isteyen bir WRM mesajı göndermek için kullanılır.

kSendFlag_RetainBuffer

Gönderildikten sonra ileti arabelleğinin serbest bırakılmaması gerektiğini belirtmek için kullanılır.

kSendFlag_RetransmissionTrickle

Trickle için yeniden gönderim gereksinimini belirtmek amacıyla kullanılır.

kSendFlag_ReuseMessageId

İleti üstbilgisindeki ileti kimliğinin yeniden kullanılabileceğini belirtmek için kullanılır.

kSendFlag_ReuseSourceId

İleti üstbilgisindeki kaynak düğüm kimliğinin yeniden kullanılabileceğini belirtmek için kullanılır.

@35

 @35
Özellikler
kGetPeerDescription_MaxLength

GetPeerDescription() tarafından döndürülen maksimum dize uzunluğu (NUL karakteri dahil).

BağlantıBağlantılıFunct

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

Bu işlev, mevcut bir Weave bağlantısı kapatıldığında çağrılacak uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] conErr
Bağlantı kapatıldığında bildirilen WEAVE_ERROR türü.

Anahtar Hatası

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

Temel hata mesajı işleme işlevinin türü.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] keyErr
Anahtar hata mesajında bildirilen WEAVE_ERROR türü.

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

Bu işlev, alınan bir Weave mesajını işlemek için uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] pktInfo
IPPacketInfo nesnesine ait bir işaretçi.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
[in] payload
İleti yükünü taşıyan PacketBuffer nesnesinin işaretçisi.

YanıtTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Bu işlev, yanıt mesajı alımı için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırmadır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.

Yeniden İletim Zaman Aşımı

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

Bu işlev, daha önce gönderilen bir iletinin yeniden aktarımı için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırmadır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.

Zaman aşımı

uint32_t Timeout

Bu ExchangeContext'teki zaman aşımını ifade etmek için kullanılan milisaniye cinsinden tür.

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

Bu işlev, Weave Güvenilir Mesajlaşma Protokolü kapsamında bir mesaj isteyen Weave mesajı için onay alındığında gönderilecek uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] msgCtxt
Onaylanan orijinal mesajla ilişkili belirli bir bağlam nesnesinin işaretçisi.

WRMPStopRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

Bu işlev, Weave Güvenilir Mesajlaşma Protokolü'nün bir parçası olarak Kısıtlama mesajı veya Gecikmeli Teslim mesajı alındığında çağırılacak uygulama geri çağırmasıdır.

Bu mesajların her birine, bu ExchangeContext'teki Weave mesajlarının gönderilmesinin duraklatılacağı zamanı belirten bir zaman değeri (milisaniye cinsinden) eklenir.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] pauseTime
İletimi duraklatma süresi (milisaniye cinsinden).

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

Bu işlev, Weave mesajı gönderilirken bir hatayla karşılaşıldığında uygulanacak uygulama geri çağırma işlemidir.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesinin işaretçisi.
[in] err
Mesajın gönderilmesi sırasında karşılaşılan WEAVE_ERROR türü.
[in] msgCtxt
Bildirilen orijinal iletiyle ilişkili belirli bir bağlam nesnesinin işaretçisi.

Herkese açık özellikler

yinelenenMsgs dosyasına izin ver

bool AllowDuplicateMsgs

Belirli bir exchange için yinelenen iletilere izin verilip verilmediğinin Boole göstergesi.

Uygulama Durumu

void * AppState

Uygulamaya özel durum nesnesinin işaretçisi.

Dezavantaj

WeaveConnection * Con

[Salt Okunur] İlişkilendirilmiş Ağ bağlantısı.

Şifreleme Türü

uint8_t EncryptionType

İleti gönderirken kullanılacak şifreleme türü.

Exchange Kimliği

uint16_t ExchangeId

[Salt Okunur] Atanan exchange kimliği.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[Salt Okunur] Sahibi olan exchange yöneticisi.

Anahtar Kimliği

uint16_t KeyId

İleti gönderirken kullanılacak şifreleme anahtarı.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Alınan onay için başvuru geri çağırma.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Alınan Gecikmeli Teslimat mesajı için başvuru geri çağırma.

OnKeyError

KeyErrorFunct OnKeyError

Bu işlev, eşten anahtar hatası mesajı alındığında çağrılacak uygulama geri çağırmadır.

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Gönderilirken bir hata için uygulama geri çağırma.

OnThrottleRcvd (OnThrottle Rcvd)

WRMPPauseRcvdFunct OnThrottleRcvd

Alınan Kısıtlama mesajı için uygulama geri çağırma.

Eşler Arası

IPAddress PeerAddr

[Salt Okunur] Eş düğümünün IP adresi.

İnterf

InterfaceId PeerIntf

[Salt Okunur] Eşe mesaj gönderirken kullanılacak giden arayüz.

(Yalnızca UDP için anlamlıdır.)

Eş NodeId

uint64_t PeerNodeId

[Salt Okunur] Eş düğümünün düğüm kimliği.

Eş Bağlantı Noktası

uint16_t PeerPort

[Salt okunur] Eş düğümün bağlantı noktası.

Yanıt Zaman Aşımı

Timeout ResponseTimeout

Yanıt için beklenecek maksimum süre (milisaniye cinsinden); 0, yanıt zaman aşımını devre dışı bırakır.

Yeniden Geçiş Aralığı

uint32_t RetransInterval

Yeniden iletimler arasındaki süre (milisaniye cinsinden); 0 yeniden iletimleri devre dışı bırakır.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

ExchangeContext için İleti Protokolü sürümü.

mWRMPConfig

WRMPConfig mWRMPConfig

WRMP yapılandırması.

Herkese açık işlevler

İptal et

void Abort(
  void
)

Exchange bağlamını hemen iptal edin ve tüm referansları bırakın.

Referans

void AddRef(
  void
)

Exchange bağlamı için referans sayacını birle artır.

Otomatik İstek Onayı

bool AutoRequestAck() const 

İleti gönderildiğinde onay istenip istenmeyeceğini döndürür.

İptal Et

void CancelRetrans(
  void
)

Trickle'in yeniden gönderme mekanizmasını iptal edin.

Kapat

void Close(
  void
)

Exchange bağlamını zarif bir şekilde kapatın.

Bu çağrı, referans sayısını azaltır ve referans sayısı sıfıra ulaştığında exchange'i serbest bırakır.

Kodlama Başlığı

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

Exchange üstbilgisini bir ileti arabelleğine kodlayın.

Ayrıntılar
Parametreler
[in] exchangeHeader
Weave Exchange başlık nesnesinin işaretçisi.
[in] profileId
Gönderilecek Weave mesajının profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
[in] msgBuf
Weave mesajı için gereken PacketBuffer işaretçisi.
[in] sendFlags
Gönderilen Weave mesajı için uygulama tarafından ayarlanan işaretler.
Döndürülen Değerler
WEAVE_ERROR_BUFFER_TOO_SMALL
İleti arabelleğinde, exchange üstbilgisinin kodlaması için yeterli alan yoksa.
WEAVE_NO_ERROR
İletinin kodlaması başarılı olduysa.

GetAutoReleaseAnahtarı

bool GetAutoReleaseKey() const 

Exchange serbest bırakıldığında exchange ile ilişkili şifreleme anahtarının serbest bırakılıp bırakılmayacağına dön.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Mevcut yeniden aktarım zaman aşımını öğrenin.

ExchangeContext'ün eşiyle devam eden etkin bir mesaj alışverişi olup olmadığına bağlı olarak başlangıç veya etkin yeniden aktarım zaman aşımı olabilir.

Ayrıntılar
İadeler
geçerli yeniden aktarım zamanı.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

Eş düğümünü ve ilişkili adres / bağlantı bilgilerini açıklayan bir dize oluşturur.

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken bir arabellektir. Sağlanan arabellek en az kGetPeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek verilirse dize sığacak şekilde kesilir. Sonuç, her durumda NUL kapatma karakteri içerir.
[in] bufSize
Tampona işaret eden arabellek boyutu.

HandleTrickleMessage

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

Exchange bağlamındaki aldatıcı mesajı ele alın.

Ayrıntılar
Parametreler
[in] pktInfo
IPPacketInfo nesnesine ait bir işaretçi.
[in] msgInfo
Weave mesaj bilgi yapısının bir işaretçisi.

HasPeerRequestAck

bool HasPeerRequestedAck(
  void
) const 

Eşin bu exchange'deki en az bir ileti için onay isteyip istemediğini belirleyin.

Ayrıntılar
İadeler
'true' onay istenirse, 'false' döndürür.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Bu exchange'de benzerler arasından en az bir mesajın alınıp alınmadığını belirleyin.

Ayrıntılar
İadeler
'true' ileti alındıysa, &&33;false' sonucunu döndürür.

Beklemede

bool IsAckPending(
  void
) const 

Bu exchange'de eşe gönderilmesini bekleyen bir onay olup olmadığını belirleyin.

Bağlantı kapalı

bool IsConnectionClosed(
  void
) const 

ExchangeContext'in ilişkilendirilmiş etkin bir WeaveConnection bağlantısı olup olmadığını belirleyin.

Ayrıntılar
İadeler
'true' bağlantı kapalıysa, &&33;false' değerini döndürür.

Başlatıcı

bool IsInitiator(
  void
) const 

Bağlamın exchange'i başlatan olup olmadığını belirleyin.

Ayrıntılar
İadeler
'true' başlatan ise &&33;false' döndürür.

Beklenen Yanıt

bool IsResponseExpected(
  void
) const 

Bu exchange üzerinden gönderilen iletiler için yanıt alınıp alınmayacağını belirleyin.

Ayrıntılar
İadeler
'true' yanıt bekleniyorsa, 'false'; değerini döndürür.

Serbest bırak

void Release(
  void
)

Bu exchange bağlamına sürüm referansı.

Sayı bire inerse, bağlamı kapatın, tüm uygulama geri çağırmalarını sıfırlayın ve tüm zamanlayıcıları durdurun.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Common::Null mesajı gönder.

Ayrıntılar
Döndürülen Değerler
WEAVE_ERROR_NO_MEMORY
Kullanılabilir PacketBuffers yoksa.
WEAVE_NO_ERROR
Yöntem başarılı olduysa veya hata kritik değilse.
other
SendMessage() tarafından döndürülen başka bir kritik hata.

Mesaj Gönder

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

Bu exchange'de bir Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] profileId
Gönderilecek Weave mesajının profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
[in] msgBuf
Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
[in] sendFlags
Gönderilen Weave mesajı için uygulama tarafından ayarlanan işaretler.
[in] msgCtxt
Gönderilen iletiyle ilişkilendirilecek, uygulamaya özel bir bağlam nesnesine ait işaretçi.
Döndürülen Değerler
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'sine geçersiz bir bağımsız değişken iletildiyse.
WEAVE_ERROR_SEND_THROTTLED
Weave güvenilir mesajlaşma protokolü kullanılırken bu exchange bağlamı kısıtlanıyorsa.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli bir gönderme işlemi ve desteklenen Weave ileti protokolü sürümü arasında bir uyumsuzluk varsa. Örneğin, Weave mesaj protokolü sürümü V1 ise Weave Güvenilir Mesajlaşma semantiği denemelerinde bu hata oluşturulur.
WEAVE_ERROR_NOT_CONNECTED
bağlamın şu anda kapalı olan bir bağlantıyla ilişkili olup olmadığı.
WEAVE_ERROR_INCORRECT_STATE
Exchange bağlamının durumu yanlışsa.
WEAVE_NO_ERROR
Weave katmanı iletiyi ağ katmanına başarıyla gönderdiyse.

Mesaj Gönder

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

Bu exchange'de bir Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] profileId
Gönderilecek Weave mesajının profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
[in] msgBuf
Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
[in] sendFlags
Gönderilen Weave mesajı için uygulama tarafından ayarlanan işaretler.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] msgCtxt
Gönderilen iletiyle ilişkilendirilecek, uygulamaya özel bir bağlam nesnesine ait işaretçi.
Döndürülen Değerler
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'sine geçersiz bir bağımsız değişken iletildiyse.
WEAVE_ERROR_SEND_THROTTLED
Weave güvenilir mesajlaşma protokolü kullanılırken bu exchange bağlamı kısıtlanıyorsa.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli bir gönderme işlemi ve desteklenen Weave ileti protokolü sürümü arasında bir uyumsuzluk varsa. Örneğin, Weave mesaj protokolü sürümü V1 ise Weave Güvenilir Mesajlaşma semantiği denemelerinde bu hata oluşturulur.
WEAVE_ERROR_NOT_CONNECTED
bağlamın şu anda kapalı olan bir bağlantıyla ilişkili olup olmadığı.
WEAVE_ERROR_INCORRECT_STATE
Exchange bağlamının durumu yanlışsa.
WEAVE_NO_ERROR
Weave katmanı iletiyi ağ katmanına başarıyla gönderdiyse.

SetAckBeklemede

void SetAckPending(
  bool inAckPending
)

Bir onayın bu exchange'de eşe geri gönderilmesi gerekip gerekmediğini belirtin.

Ayrıntılar
Parametreler
[in] inAckPending
Alınan iletiye yanıt olarak bir onayın (doğru) olup olmadığını (yanlış) geri gönderilip gönderilmeyeceğini belirten bir Boole.

SetAutoReleaseAnahtarı

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Exchange serbest bırakıldığında exchange ile ilişkili şifreleme anahtarının serbest bırakılması gerekip gerekmediğini ayarlayın.

Ayrıntılar
Parametreler
[in] autoReleaseKey
İleti şifreleme anahtarının otomatik olarak serbest bırakılması gerekiyorsa doğru değerini alır.

Otomatik İstek Onayı

void SetAutoRequestAck(
  bool autoReqAck
)

İleti gönderildiğinde onay istenip istenmeyeceğini belirleyin.

Ayrıntılar
Parametreler
[in] autoReqAck
İleti gönderildiğinde onay isteğinde bulunulması gerekip gerekmediğini belirten boole değeridir.

SetConnectionKapalı

void SetConnectionClosed(
  bool inConnectionClosed
)

kFlagConnectionClosed işaret bitini ayarlayın.

Bu işaret, ExchangeContext ile ilişkili bir WeaveConnection kapatıldığında ayarlanır.

Ayrıntılar
Parametreler
[in] inConnectionClosed
Bağlamın bir bağlantıyla ilişkili olup olmadığını (doğru) veya yanlış olup olmadığını (yanlış) gösteren bir Boole.

SetDropAck

void SetDropAck(
  bool inDropAck
)

WeaveExchangeManager'ın bu bağlam için onay gönderip göndermeyeceğini ayarlayın.

Dahili olarak yalnızca hata ayıklama kullanımı içindir.

Ayrıntılar
Parametreler
[in] inDropAck
Onayların exchange için gönderilmemesi gerektiğini (true) veya göndermemesini (false) gösteren bir Boole.

SetInitiator

void SetInitiator(
  bool inInitiator
)

kFlagInitiator flag bitini ayarlayın.

Bu işaret, exchange'i başlatan düğüm tarafından ayarlanır.

Ayrıntılar
Parametreler
[in] inInitiator
Bağlamın exchange'i başlatan (true) olup olmadığını (false) gösteren bir Boole.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Bu exchange'de benzerler arasından bir mesaj alınıp alınmadığını ayarlayın.

Ayrıntılar
Parametreler
[in] inMsgRcvdFromPeer
Bu exchange bağlamında eşten bir iletinin (true) alınıp alınmadığını (false) gösteren bir Boole.

SetPeerRequestAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Bu exchange'de alınan son iletide onay istenip istenmediğini ayarlayın.

Ayrıntılar
Parametreler
[in] inPeerRequestedAck
Alınan son iletide bir onayın istenip istenmediğini (false) gösteren bir boole değeridir.

SetResponse beklenen

void SetResponseExpected(
  bool inResponseExpected
)

Bu exchange'de bir yanıtın beklenen olup olmadığını belirleyin.

Ayrıntılar
Parametreler
[in] inResponseExpected
Bu exchange'de bir yanıtın beklenen (true) olup olmadığını (false) gösteren bir Boole.

SetSetAutoReleaseBağlantısı

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının serbest bırakılıp bırakılmayacağını ayarlayın.

Ayrıntılar
Parametreler
[in] autoReleaseCon
Weave bağlantısının otomatik olarak serbest bırakılması gerekiyorsa doğru değerini alır.

Kurulumu Yeniden Aktarma

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

İlgili yeniden iletim aralığını ve yeniden yayınlama eşiğini ayarlayarak kimlik avı yeniden gönderme mekanizmasını ayarlayın.

Ayrıntılar
Parametreler
[in] retransInterval
Trickle yeniden yayınlama algoritmasının yeniden aktarılma aralığı.
[in] threshold
Bir mesajın yeniden yayınlanmış maksimum sayısı.
[in] timeout
Trickle revize zamanlayıcıyı iptal etmeden önce beklenecek maksimum süredir.
İadeler
Trickle kurulumu başarılı olursa WEAVE_NO_ERROR, aksi takdirde WEAVE_ERROR eşlenen bir INET_ERROR.

Otomatik Seri Oluşturma Gerekli

bool ShouldAutoReleaseConnection() const 

Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının serbest bırakılıp bırakılmayacağına dön.

Atılması Gerekenler

bool ShouldDropAck(
  void
) const 

WeaveExchangeManager'ın onay gönderip göndermemesi gerektiğini belirleyin.

Dahili olarak yalnızca hata ayıklama kullanımı içindir.

BaşlangıçZamanlayıcıT

WEAVE_ERROR StartTimerT(
  void
)

Trickle yeniden yayınlama algoritmasının periyodik yeniden iletim zamanlayıcı mekanizmasını başlatın.

Ayrıntılar
İadeler
Başarılı olursa WEAVE_NO_ERROR, aksi takdirde WEAVE_ERROR olarak eşlenen bir INET_ERROR.

Gözyaşı Koşusu

void TeardownTrickleRetransmit(
  void
)

Trickle'da periyodik zamanlayıcıları iptal edip Weave mesajını basılı tutarak mesaj arabelleğini boşaltarak Trickle yeniden iletim mekanizmasını yok edin.

Eşdeğer UDPPort kullan

bool UseEphemeralUDPPort(
  void
) const 

Exchange üzerinden gönderilen giden iletilerin yerel geçici UDP bağlantı noktasından gönderilip gönderilmeyeceğini döndürün.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Gönderen düğüme, alıcıya teslim edilmeden önce beklenen bir gecikme yaşanacağını bildirmek için Gecikmeli Teslim İletisi gönderin.

İletilerin teslim edilmeden önce gecikmesinin olası nedenlerinden biri, alıcı uç düğümünün uykulu olmasıdır. Bu mesaj, alıcının gecikmiş teslimat hakkında bilgi sahibi olması için yeterli bilgiye sahip olan, gönderim yolundaki uygun bir ara düğüm tarafından oluşturulabilir. Bu mesajı aldıktan sonra, tekrar onay isteyen mesajlar için yeniden mesaj zamanlayıcılarını yeniden ayarlar.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Daha önce gönderilen iletinin teslim edilmeden önce beklenmesi gereken süre (milisaniye cinsinden).
[in] delayedNodeId
İletimin tesliminin erteleneceği eş düğümünün düğüm tanımlayıcısı.
Döndürülen Değerler
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'sine geçersiz bir bağımsız değişken iletildiyse.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli bir gönderme işlemi ve desteklenen Weave ileti protokolü sürümü arasında bir uyumsuzluk varsa. Örneğin, Weave mesaj protokolü sürümü V1 ise Weave Güvenilir Mesajlaşma semantiği denemelerinde bu hata oluşturulur.
WEAVE_ERROR_NOT_CONNECTED
bağlamın şu anda kapalı olan bir bağlantıyla ilişkili olup olmadığı.
WEAVE_ERROR_INCORRECT_STATE
Exchange bağlamının durumu yanlışsa.
WEAVE_NO_ERROR
Weave katmanı iletiyi ağ katmanına başarıyla gönderdiyse.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Eşler düğümüne mesaj göndermenin kısıtlanmasını isteyen bir Akış Akışı mesajı gönderin.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Alıcının gönderme işlemini kısıtlaması beklenen süre (milisaniye cinsinden).
Döndürülen Değerler
WEAVE_ERROR_INVALID_ARGUMENT
Bu SendMessage API'ye geçersiz bir bağımsız değişken iletildiyse.
WEAVE_ERROR_SEND_THROTTLED
Weave güvenilir mesajlaşma protokolü kullanılırken bu exchange bağlamı kısıtlanıyorsa.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli gönderme işleminde ve desteklenen Weave ileti protokolü sürümünde bir uyumsuzluk varsa. Örneğin, Weave mesaj protokolü sürümü V1 ise Weave Güvenilir Mesajlaşma semantiği denemelerinde bu hata oluşturulur.
WEAVE_ERROR_NOT_CONNECTED
Bağlamın şu anda kapalı bir bağlantıyla ilişkili olup olmadığı.
WEAVE_ERROR_INCORRECT_STATE
Exchange bağlamının durumu yanlışsa.
WEAVE_NO_ERROR
Weave katmanı iletiyi ağ katmanına başarıyla gönderdiyse.