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 içinde Weave mesajlarını TCP, UDP veya Weave Reliable Messaging gibi çeşitli aktarım mekanizmaları ü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) typedef
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) typedef
void(*
Anahtar 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) typedef
void(*
Bu işlev, alınan bir Weave mesajını işlemek için kullanılan uygulama geri çağırmasıdır.
ResponseTimeoutFunct)(ExchangeContext *ec) typedef
void(*
Bu işlev, bir yanıt iletisinin alınması için zaman aşımı sona erdiğinde çağrılacak uygulama geri çağırmasıdır.
RetransmissionTimeoutFunct)(ExchangeContext *ec) typedef
void(*
Bu işlev, daha önce gönderilmiş bir iletinin yeniden iletimi için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırmasıdır.
Timeout typedef
uint32_t
Bu ExchangeContext öğesindeki zaman aşımını milisaniye cinsinden ifade etmek için kullanılan tür.
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Bu işlev, Weave Reliable Messaging Protocol kapsamında bir Weave iletisi için Onay alındığında çağrılacak uygulama geri çağırmasıdır.
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
Bu işlev, Weave Reliable Messaging Protocol kapsamında bir Throttle 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) typedef
void(*
Bu işlev, Weave mesajı gönderilirken hatayla karşılaştığında çağrılacak uygulama geri çağırmasıdır.

Herkese açık özellikler

AllowDuplicateMsgs
bool
Belirli bir exchange için yinelenen iletilere izin verilip verilmediğini gösteren Boole göstergesi.
AppState
void *
Uygulamaya özgü durum nesnesine işaret eden.
Con
[YALNIZCA OKUMA] İlişkili Weave bağlantısı.
EncryptionType
uint8_t
İleti gönderirken kullanılan şifreleme türü.
ExchangeId
uint16_t
[READ ONLY] Atanan exchange kimliği.
ExchangeMgr
[YALNIZCA OKUYUN] Exchange yöneticisine sahip olma.
KeyId
uint16_t
İleti gönderirken kullanılacak şifreleme anahtarı.
OnAckRcvd
Alınan onay için uygulamayı geri arama.
OnConnectionClosed
OnDDRcvd
Alınan Gecikmeli Teslimat mesajı için uygulamanın geri aranması.
OnKeyError
Bu işlev, eşten anahtar hata mesajı alındığında çağrılacak uygulama geri çağırmasıdır.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Gönderim sırasında hata nedeniyle uygulamanın geri aranması.
OnThrottleRcvd
Alınan Throttle mesajı için uygulama geri çağırma işlemi.
PeerAddr
IPAddress
[YALNIZCA OKUYUN] Eş düğümün IP adresi.
PeerIntf
InterfaceId
[YALNIZCA OKUYUN] Eşe ileti gönderirken kullanılacak giden arayüzü.
PeerNodeId
uint64_t
[SALT OKUMA] Eş düğümün düğüm kimliği.
PeerPort
uint16_t
[YALNIZCA OKUMA] Eş düğümün bağlantı noktası.
ResponseTimeout
Yanıt için beklenecek maksimum süre (milisaniye cinsinden). 0 değeri, yanıt zaman aşımını devre dışı bırakır.
RetransInterval
uint32_t
Yeniden iletimler arasındaki süre (milisaniye cinsinden); 0 değeri, yeniden iletimleri devre dışı bırakır.
mMsgProtocolVersion
uint16_t
ExchangeContext için İleti Protokolü sürümü.
mWRMPConfig
WRMP yapılandırması.

Kamu işlevleri

Abort(void)
void
Exchange bağlamını hemen iptal edin ve tüm referansları serbest bırakın.
AddRef(void)
void
Exchange bağlamı için referans sayacını bir artır.
AutoRequestAck() const
bool
Her mesaj gönderildiğinde onay istenip istenmeyeceğini döndürür.
CancelRetrans(void)
void
Trickle yeniden iletim mekanizmasını iptal edin.
Close(void)
void
Değişim bağlamını düzgün 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ılamayacağını döndürür.
GetCurrentRetransmitTimeout(void)
uint32_t
Mevcut yeniden iletim zaman aşımını öğrenin.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
Eş düğümü ve ilişkili adresini / bağlantı bilgilerini açıklayan bir dize oluşturur.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Kısa mesajları exchange bağlamında ele alın.
HasPeerRequestedAck(void) const
bool
Emsalin bu exchange'deki en az bir mesaj için onay isteyip istemediğini belirleyin.
HasRcvdMsgFromPeer(void) const
bool
Bu exchange'de benzerden en az bir mesaj alınıp alınmadığını belirleyin.
IsAckPending(void) const
bool
Bu exchange'de eşe gönderilmeyi bekleyen bir onay olup olmadığını belirleyin.
IsConnectionClosed(void) const
bool
ExchangeContext'in ilişkilendirilmiş etkin bir WeaveConnection'a sahip olup olmadığını belirleyin.
IsInitiator(void) const
bool
Bağlamın karşılıklı değişimi başlatan taraf olup olmadığını belirleyin.
IsResponseExpected(void) const
bool
Bu exchange üzerinden gönderilen mesajlar için yanıt beklenip beklenmeyeceğini belirleyin.
Release(void)
void
Bu exchange bağlamı için referansı serbest bırakın.
SendCommonNullMessage(void)
Common::Null mesaj gönderin.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Bu alışverişte Weave mesajı gönderin.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Bu alışverişte Weave mesajı gönderin.
SetAckPending(bool inAckPending)
void
Bu exchange'de eşe bir onayın geri gönderilmesi gerekiyorsa belirleyin.
SetAutoReleaseKey(bool autoReleaseKey)
void
Exchange serbest bırakıldığında, exchange ile ilişkili şifreleme anahtarının serbest bırakılıp bırakılmayacağını ayarlayın.
SetAutoRequestAck(bool autoReqAck)
void
Her mesaj gönderildiğinde onay istenip istenmeyeceğini ayarlayın.
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öndermemesi gerektiğini ayarlayın.
SetInitiator(bool inInitiator)
void
kFlagInitiator işaret bitini ayarlayın.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
Bu exchange'de eşten mesaj alınıp alınmadığını belirtin.
SetPeerRequestedAck(bool inPeerRequestedAck)
void
Bu exchange'de alınan son mesajda onay istenip istenmediğini belirtin.
SetResponseExpected(bool inResponseExpected)
void
Bu exchange'de bir yanıt beklenip beklenmediğini ayarlayın.
SetShouldAutoReleaseConnection(bool autoReleaseCon)
void
Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının da 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ın eşiğini ayarlayarak damlama yeniden iletim mekanizmasını kurun.
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ılamayacağını döndürür.
ShouldDropAck(void) const
bool
WeaveExchangeManager'ın onay göndermemesi gerekip gerekmediğini belirleyin.
StartTimerT(void)
Trickle yeniden yayın algoritmasının periyodik yeniden iletim zamanlayıcısı mekanizmasını başlatın.
TeardownTrickleRetransmit(void)
void
Trickle'daki periyodik zamanlayıcıları iptal edip Weave mesajını içeren mesaj arabelleğini serbest bırakarak Trickle yeniden iletim mekanizmasını sökün.
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ür.
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Gönderen düğüme, daha önce gönderilen iletinin alıcıya teslim edilmeden önce beklenen bir gecikmeyle karşılaşacağını bildirmek için Gecikmeli Teslimat iletisi gönderin.
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
Eş düğüme, ileti gönderimini kısıtlamasını isteyen bir Throttle Flow mesajı gönderilir.

Herkese açık türler

@34

 @34
Özellikler
kSendFlag_AlreadyEncoded

İletinin zaten kodlanmış olduğunu belirtmek için kullanılır.

kSendFlag_AutoRetrans

Otomatik yeniden iletimin 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

Mevcut iletinin gönderilmesinin gecikmesi gerektiğini belirtmek için kullanılır.

kSendFlag_ExpectResponse

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

kSendFlag_FromInitiator

Mevcut mesajın değişimi 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

İleti gönderirken otomatik istek onay özelliğini devre dışı bırakın.

kSendFlag_RequestAck

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

kSendFlag_RetainBuffer

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

kSendFlag_RetransmissionTrickle

Trickle için yeniden iletim gerektiğini göstermek 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 (NUL karakteri dahil).

ConnectionClosedFunct

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 nesnesine işaret eden bir işaret.
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] conErr
Bağlantı kapatıldığında bildirilen WEAVE_ERROR türü.

KeyErrorFunct

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

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

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.
[in] keyErr
Temel 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 kullanılan uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.
[in] pktInfo
IPPacketInfo nesnesine işaret eden bir işaretçi.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] payload
İleti yükünü barındıran PacketBuffer nesnesine yönelik işaretçi.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Bu işlev, bir yanıt iletisinin alınması için zaman aşımı sona erdiğinde çağrılacak uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

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

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.

Engelleme

uint32_t Timeout

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

WRMPAckRcvdFunct

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

Bu işlev, Weave Reliable Messaging Protocol kapsamında bir Weave iletisi için Onay alındığında çağrılacak uygulama geri çağırmasıdır.

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

WRMPPauseRcvdFunct

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

Bu işlev, Weave Reliable Messaging Protocol kapsamında bir Throttle mesajı veya Gecikmeli Teslim mesajı alındığında çağrılacak uygulama geri çağırmasıdır.

Bu iletilerin her birine, bu ExchangeContext işleminde Weave iletilerinin gönderiminin duraklatılacağı zamanı belirten bir zaman değeri (milisaniye cinsinden) verilir.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.
[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 hatayla karşılaştığında çağrılacak uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] ec
ExchangeContext nesnesine işaret eden bir işaret.
[in] err
İleti gönderilirken karşılaşılan WEAVE_ERROR türü.
[in] msgCtxt
Bildirilen orijinal iletiyle ilişkilendirilmiş belirli bir bağlam nesnesinin işaretçisi.

Herkese açık özellikler

AllowDuplicateMsgs

bool AllowDuplicateMsgs

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

AppState

void * AppState

Uygulamaya özgü durum nesnesine işaret eden.

Dezavantaj

WeaveConnection * Con

[YALNIZCA OKUMA] İlişkili Weave bağlantısı.

EncryptionType

uint8_t EncryptionType

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

ExchangeId

uint16_t ExchangeId

[READ ONLY] Atanan exchange kimliği.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[YALNIZCA OKUYUN] Exchange yöneticisine sahip olma.

KeyId

uint16_t KeyId

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

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Alınan onay için uygulamayı geri arama.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Alınan Gecikmeli Teslimat mesajı için uygulamanın geri aranması.

OnKeyError

KeyErrorFunct OnKeyError

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

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Gönderim sırasında hata nedeniyle uygulamanın geri aranması.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Alınan Throttle mesajı için uygulama geri çağırma işlemi.

PeerAddr

IPAddress PeerAddr

[YALNIZCA OKUYUN] Eş düğümün IP adresi.

PeerIntf

InterfaceId PeerIntf

[YALNIZCA OKUYUN] Eşe ileti gönderirken kullanılacak giden arayüzü.

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

PeerNodeId

uint64_t PeerNodeId

[SALT OKUMA] Eş düğümün düğüm kimliği.

PeerPort

uint16_t PeerPort

[YALNIZCA OKUMA] Eş düğümün bağlantı noktası.

ResponseTimeout

Timeout ResponseTimeout

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

RetransInterval

uint32_t RetransInterval

Yeniden iletimler arasındaki süre (milisaniye cinsinden); 0 değeri, 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ı.

Kamu işlevleri

İptal et

void Abort(
  void
)

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

AddRef

void AddRef(
  void
)

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

AutoRequestAck

bool AutoRequestAck() const 

Her mesaj gönderildiğinde onay istenip istenmeyeceğini döndürür.

CancelRetrans

void CancelRetrans(
  void
)

Trickle yeniden iletim mekanizmasını iptal edin.

Kapat

void Close(
  void
)

Değişim bağlamını düzgün bir şekilde kapatın.

Bu çağrı, referans sayısını azaltır ve referans sayısı sıfıra indiğinde exchange'i serbest bırakır.

EncodeExchHeader

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 nesnesine işaret eden bir işaretçi.
[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
Uygulama tarafından gönderilen Weave mesajı için ayarlanan işaretler.
Döndürülen Değerler
WEAVE_ERROR_BUFFER_TOO_SMALL
İleti arabelleğinde exchange üstbilgisini kodlamak için yeterli alan yoksa.
WEAVE_NO_ERROR
İleti kodlamasının başarılı olup olmadığı.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

Exchange serbest bırakıldığında exchange ile ilişkili şifreleme anahtarının serbest bırakılıp bırakılamayacağını döndürür.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

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

Bu, ExchangeContext öğesinin eşiyle devam eden etkin bir ileti alışverişinin olup olmadığına bağlı olarak ilk veya etkin yeniden iletim zaman aşımı olur.

Ayrıntılar
İadeler
güncel ileti gönderme zamanı

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğin işaretçisi. Sağlanan arabellek en az kGetPeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek verilirse dize sığacak şekilde kısaltılır. Çıkış, her durumda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon tarafından işaret edilen tamponun boyutu.

HandleTrickleMessage

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

Kısa mesajları exchange bağlamında ele alın.

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

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

Emsalin bu exchange'deki en az bir mesaj için onay isteyip istemediğini belirleyin.

Ayrıntılar
İadeler
Onay istenirse "true", aksi takdirde "false" değerini döndürür.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

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

Ayrıntılar
İadeler
İleti alındıysa "true", aksi takdirde "false" değerini döndürür.

IsAckPending

bool IsAckPending(
  void
) const 

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

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

ExchangeContext'in ilişkilendirilmiş etkin bir WeaveConnection'a sahip olup olmadığını belirleyin.

Ayrıntılar
İadeler
Bağlantı kapalıysa "true" (doğru), aksi takdirde "false" (yanlış) değerini döndürür.

IsInitiator

bool IsInitiator(
  void
) const 

Bağlamın karşılıklı değişimi başlatan taraf olup olmadığını belirleyin.

Ayrıntılar
İadeler
Başlatıcı ise "true", aksi takdirde "false" değerini döndürür.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

Bu exchange üzerinden gönderilen mesajlar için yanıt beklenip beklenmeyeceğini belirleyin.

Ayrıntılar
İadeler
Yanıt bekleniyorsa "true" (doğru), aksi takdirde "false" (yanlış) değerini döndürür.

Lansman

void Release(
  void
)

Bu exchange bağlamı için referansı serbest bırakın.

Sayım bire düşerse bağlamı kapatın, tüm uygulama geri aramalarını sıfırlayın ve tüm zamanlayıcıları durdurun.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Common::Null mesaj gönderin.

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 önem taşımadıysa.
other
SendMessage() tarafından döndürülen başka bir kritik hata.

SendMessage

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

Bu alışverişte 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ı içeren PacketBuffer nesnesinin işaretçisi.
[in] sendFlags
Uygulama tarafından gönderilen Weave mesajı için ayarlanan işaretler.
[in] msgCtxt
Gönderilen iletiyle ilişkilendirilecek, uygulamaya özel içerik nesnesine işaret eden bir işaretçi.
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
Bu exchange bağlamının kısıtlanıp kısıtlanmadığını gösterir.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
belirli bir gönderme işlemi ile desteklenen Weave mesaj protokolü sürümünde uyuşmazlık varsa. Örneğin, Weave mesaj protokolü sürümü V1 olduğunda Weave Reliable Messaging anlamları deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
bağlam, artık kapalı olan bir bağlantıyla ilişkilendirildiyse.
WEAVE_ERROR_INCORRECT_STATE
değerini döndürür.
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderip göndermediğini söyleyebilirler.

SendMessage

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

Bu alışverişte 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ı içeren PacketBuffer nesnesinin işaretçisi.
[in] sendFlags
Uygulama tarafından gönderilen Weave mesajı için ayarlanan işaretler.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] msgCtxt
Gönderilen iletiyle ilişkilendirilecek, uygulamaya özel içerik nesnesine işaret eden bir işaretçi.
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
Bu exchange bağlamının kısıtlanıp kısıtlanmadığını gösterir.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
belirli bir gönderme işlemi ile desteklenen Weave mesaj protokolü sürümünde uyuşmazlık varsa. Örneğin, Weave mesaj protokolü sürümü V1 olduğunda Weave Reliable Messaging anlamları deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
bağlam, artık kapalı olan bir bağlantıyla ilişkilendirildiyse.
WEAVE_ERROR_INCORRECT_STATE
değerini döndürür.
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderip göndermediğini söyleyebilirler.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Bu exchange'de eşe bir onayın geri gönderilmesi gerekiyorsa belirleyin.

Ayrıntılar
Parametreler
[in] inAckPending
Alınan bir iletiye yanıt olarak bir onayın geri gönderilmesi gerekip gerekmediğini (doğru) veya olmadığını (yanlış) belirten bir Boole değeridir.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Exchange serbest bırakıldığında, exchange ile ilişkili şifreleme anahtarının serbest bırakılıp bırakılmayacağını 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.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Her mesaj gönderildiğinde onay istenip istenmeyeceğini ayarlayın.

Ayrıntılar
Parametreler
[in] autoReqAck
Her ileti gönderildiğinde onay istenip istenmeyeceğini gösteren Boole değeri.

SetConnectionClosed

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şkilendirilip ilişkilendirilmediğini (doğru) veya olmadığını (yanlış) gösteren bir Boole değeri.

SetDropAck

void SetDropAck(
  bool inDropAck
)

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

Yalnızca dahili, hata ayıklama amaçlı kullanım için.

Ayrıntılar
Parametreler
[in] inDropAck
Onayların takas için gönderilip gönderilmeyeceğini (doğru) veya olmadığını (yanlış) belirten bir Boole değeri.

SetInitiator

void SetInitiator(
  bool inInitiator
)

kFlagInitiator işaret bitini ayarlayın.

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

Ayrıntılar
Parametreler
[in] inInitiator
Bağlamın değişimi başlatan taraf olup olmadığını (doğru) veya olmadığını (yanlış) gösteren bir Boole değeri.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Bu exchange'de eşten mesaj alınıp alınmadığını belirtin.

Ayrıntılar
Parametreler
[in] inMsgRcvdFromPeer
Bu exchange bağlamında eşten bir mesajın alınıp alınmadığını (doğru) veya olmadığını (yanlış) gösteren Boole değeri.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Bu exchange'de alınan son mesajda onay istenip istenmediğini belirtin.

Ayrıntılar
Parametreler
[in] inPeerRequestedAck
Son alınan iletide onay istenip istenmediğini (doğru) veya olmadığını (yanlış) gösteren bir Boole değeri.

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

Bu exchange'de bir yanıt beklenip beklenmediğini ayarlayın.

Ayrıntılar
Parametreler
[in] inResponseExpected
Bu exchange'de bir yanıtın beklenip beklenmeyeceğini (doğru) veya olmadığını (yanlış) gösteren bir Boole değeri.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Exchange serbest bırakıldığında exchange ile ilişkili Weave bağlantısının da 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 döndürür.

SetupTrickleRetransmit

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

İlgili yeniden iletim aralığını ve yeniden yayın eşiğini ayarlayarak damlama yeniden iletim mekanizmasını kurun.

Ayrıntılar
Parametreler
[in] retransInterval
Trickle yeniden yayın algoritmasının yeniden iletim aralığı.
[in] threshold
Bir mesajın maksimum yeniden yayınlanma sayısı.
[in] timeout
Trickle yeniden iletim zamanlayıcısını iptal etmeden önce beklenecek maksimum süre.
İadeler
Trickle kurulumu başarılıysa WEAVE_NO_ERROR, aksi takdirde WEAVE_ERROR hatasıyla ilişkili INET_ERROR bulunur.

ShouldAutoReleaseConnection

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ılamayacağını döndürür.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

WeaveExchangeManager'ın onay göndermemesi gerekip gerekmediğini belirleyin.

Yalnızca dahili, hata ayıklama amaçlı kullanım için.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

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

Ayrıntılar
İadeler
Başarılı olursa WEAVE_NO_ERROR: Aksi takdirde bir INET_ERROR, WEAVE_ERROR ile eşlenir.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

Trickle'daki periyodik zamanlayıcıları iptal edip Weave mesajını içeren mesaj arabelleğini serbest bırakarak Trickle yeniden iletim mekanizmasını sökün.

UseEphemeralUDPPort

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ür.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Gönderen düğüme, daha önce gönderilen iletinin alıcıya teslim edilmeden önce beklenen bir gecikmeyle karşılaşacağını bildirmek için Gecikmeli Teslimat iletisi gönderin.

İletilerin teslim edilmeden önce gecikmesinin olası nedenlerinden biri, alıcı son düğümünün uykulu olmasıdır. Bu ileti, potansiyel olarak gönderme yolundaki, gecikmeli teslimi tahmin etmek için alıcı hakkında yeterli bilgiye sahip olan uygun bir ara düğüm tarafından oluşturulmuştur. Bu iletiyi aldıktan sonra, gönderen kişi onay almak isteyen iletiler için yeniden iletim zamanlayıcılarını yeniden ayarlayacaktır.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Daha önce gönderilen iletinin teslim edilmeden önce geciktirilmesi beklenen süre (milisaniye cinsinden).
[in] delayedNodeId
Mesaj tesliminin gecikeceği eş düğümün düğüm tanımlayıcısı.
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_WRONG_MSG_VERSION_FOR_EXCHANGE
belirli bir gönderme işlemi ile desteklenen Weave mesaj protokolü sürümünde uyuşmazlık varsa. Örneğin, Weave mesaj protokolü sürümü V1 olduğunda Weave Reliable Messaging anlamları deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
bağlam, artık kapalı olan bir bağlantıyla ilişkilendirildiyse.
WEAVE_ERROR_INCORRECT_STATE
değerini döndürür.
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderip göndermediğini söyleyebilirler.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Eş düğüme, ileti gönderimini kısıtlamasını isteyen bir Throttle Flow mesajı gönderilir.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Alıcının göndermeyi kısması 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 iletilip iletilmediği.
WEAVE_ERROR_SEND_THROTTLED
Güvenilir Weave mesajlaşma protokolü kullanılırken bu exchange bağlamı kısıtlanmışsa.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli gönderme işleminde ve desteklenen Weave mesaj protokolü sürümünde uyuşmazlık varsa. Örneğin, Weave mesaj protokolü sürümü V1 olduğunda Weave Reliable Messaging anlamları deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
Bağlamın artık kapalı olan bir bağlantıyla ilişkilendirilip ilişkilendirilmediğini gösterir.
WEAVE_ERROR_INCORRECT_STATE
Exchange bağlamının durumunun yanlış olup olmadığı.
WEAVE_NO_ERROR
Weave katmanının mesajı ağ katmanına başarıyla gönderip göndermediğini gösterir.