nl::Weave::ExchangeContext

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

Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir görüşmeyi (ExchangeContext) temsil eder.

Özet

Bu ayar, ExchangeContext içindeki Weave mesajlarını TCP, UDP veya Weave Güvenilir Mesajlaşma 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ğırmak için bir uygulama geri çağırmasıdır.
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
Tuş 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 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ı süresi dolduğunda çağrılacak uygulama geri çağırma işlevidir.
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ğırmak üzere uygulama geri çağırma işlevidir.
Timeout typedef
uint32_t
Bu ExchangeContext içinde zaman aşımını ifade etmek için kullanılan tür (milisaniye cinsinden).
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Bu işlev, Weave Güvenilir Mesajlaşma Protokolü'nün parçası olarak onay isteyen bir Weave mesajı 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 Güvenilir Mesajlaşma Protokolü'nün parçası olarak 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şıldığında kullanılacak uygulama geri çağırma işlevidir.

Herkese açık özellikler

AllowDuplicateMsgs
bool
Belirli bir exchange için yinelenen mesajlara izin verilip verilmediğini gösteren boole göstergesi.
AppState
void *
Uygulamaya özel durum nesnesinin işaretçisi.
Con
[READ ONLY] İlişkilendirilmiş Weave bağlantısı.
EncryptionType
uint8_t
İleti gönderirken kullanılacak şifreleme türü.
ExchangeId
uint16_t
[SALT OKUNUR] Atanan exchange kimliği.
ExchangeMgr
[READ ONLY] Exchange yöneticisine sahip olma.
KeyId
uint16_t
İleti gönderirken kullanılacak şifreleme anahtarı.
OnAckRcvd
Onay için uygulama geri araması.
OnConnectionClosed
OnDDRcvd
Gecikmeli teslim mesajı için uygulama geri çağırması.
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
Uygulama gönderilirken hata oluştuğu için geri çağırma.
OnThrottleRcvd
Alınan Throttle mesajı için uygulama geri çağırması.
PeerAddr
IPAddress
[SALT OKUNUR] Eş düğümün IP adresi.
PeerIntf
InterfaceId
[SALT OKUNUR] Eşe ileti gönderirken kullanılacak giden arayüzüdür.
PeerNodeId
uint64_t
[SALT OKUNUR] Eş düğümün düğüm kimliği.
PeerPort
uint16_t
[SALT OKUNUR] Eş düğümün bağlantı noktası.
ResponseTimeout
Yanıt için maksimum süre (milisaniye cinsinden); 0 değeri yanıt zaman aşımını devre dışı bırakır.
RetransInterval
uint32_t
Tekrar 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ı.

Herkese açık işlevler

Abort(void)
void
Exchange bağlamını hemen iptal edin ve tüm referansları serbest bırakın.
AddRef(void)
void
Değişim bağlamı için referans sayacını bir artırın.
AutoRequestAck() const
bool
Her ileti 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ünce kapatın.
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Exchange başlığını bir mesaj 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ğını döndürür.
GetCurrentRetransmitTimeout(void)
uint32_t
Mevcut yeniden iletim zaman aşımını al.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
Eş düğümü ve ilişkili adres / bağlantı bilgilerini açıklayan bir dize oluşturur.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Kısa mesajı exchange bağlamında ele alın.
HasPeerRequestedAck(void) const
bool
Eşin bu exchange'deki en az bir mesaj için onay isteyip istemediğini belirleyin.
HasRcvdMsgFromPeer(void) const
bool
Bu exchange'de eşten en az bir mesaj alıp almadığını belirleyin.
IsAckPending(void) const
bool
Bu exchange'de eşe gönderilmek üzere bekleyen bir onay olup olmadığını belirleyin.
IsConnectionClosed(void) const
bool
ExchangeContext'in ilişkilendirilmiş etkin bir WeaveConnection öğesine sahip olup olmadığını belirleyin.
IsInitiator(void) const
bool
Bağlamın exchange'i başlatan unsur olup olmadığını belirleyin.
IsResponseExpected(void) const
bool
Bu exchange üzerinden gönderilen iletilere yanıt beklenip yanıtlanmayacağını belirleyin.
Release(void)
void
Bu exchange bağlamına referans verin.
SendCommonNullMessage(void)
Genel::Null mesajı gönderin.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Bu exchange'de Weave mesajı gönderin.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Bu exchange'de Weave mesajı gönderin.
SetAckPending(bool inAckPending)
void
Bu exchange'de eşe bir onayın geri gönderilmesi gerekip gerekmediğini ayarlayın.
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 belirleyin.
SetConnectionClosed(bool inConnectionClosed)
void
kFlagConnectionClosed işaret bitini ayarlayın.
SetDropAck(bool inDropAck)
void
WeaveExchangeManager'ın bu bağlam için onay göndermemesi gerekip gerekmediğini ayarlayın.
SetInitiator(bool inInitiator)
void
kFlagInitiator işaret bitini ayarlayın.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
Bu exchange'deki eşten mesaj alıp almadığını ayarlayın.
SetPeerRequestedAck(bool inPeerRequestedAck)
void
Bu exchange'e alınan son mesajda onay istenip istenmediğini ayarlayın.
SetResponseExpected(bool inResponseExpected)
void
Bu exchange'de yanıt beklenip beklenmeyeceğini ayarlayın.
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ın eşiğini ayarlayarak damla 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ılmayacağı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ı mekanizmasını başlatın.
TeardownTrickleRetransmit(void)
void
Trickle içindeki periyodik zamanlayıcıları iptal ederek ve Weave mesajını içeren mesaj arabelleğini serbest bırakarak Trickle yeniden iletim mekanizmasını ayırı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üğümüne, daha önce gönderilen iletisinin alıcıya teslim edilmeden önce beklenen bir gecikme yaşayacağını bildirmek için Gecikmeli Teslim iletisi gönderin.
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
Eş düğüme bir Throttle Flow iletisi göndererek eş düğümden ileti gönderimini kısıtlamasını isteyin.

Herkese açık türler

@34

 @34
Özellikler
kSendFlag_AlreadyEncoded

İletinin zaten kodlandığını 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 mesajın gönderiminin gecikmesi gerektiğini belirtmek için kullanılır.

kSendFlag_ExpectResponse

Belirli bir zaman aşımı süresi içinde bir yanıt 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 onaylama özelliğini gizle.

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 şartını belirtmek için 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).

ConnectionClosedFunct

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

Bu işlev, mevcut bir Weave bağlantısı kapatıldığında çağırmak için bir 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ü.

KeyErrorFunct

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

Tuş 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 nesnesinin işaretçisi.
[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
Mesaj yükünü içeren PaketetBuffer nesnesinin işaretçisi.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Bu işlev, bir yanıt iletisinin alınması için zaman aşımı süresi dolduğunda çağrılacak uygulama geri çağırma işlevidir.

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

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ğırmak üzere uygulama geri çağırma işlevidir.

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

Zaman aşımı

uint32_t Timeout

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

WRMPAckRcvdFunct

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

Bu işlev, Weave Güvenilir Mesajlaşma Protokolü'nün parçası olarak onay isteyen bir Weave mesajı için Onay alındığında çağrılacak 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 nesnesine işaret eden işaret.

WRMPPauseRcvdFunct

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

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

Bu mesajların her birine, bu ExchangeContext'te Weave mesajlarının gönderilmesinin duraklatılacağı süreyi belirten bir zaman değeri (milisaniye cinsinden) verilir.

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 hatayla karşılaşıldığında kullanılacak uygulama geri çağırma işlevidir.

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

Herkese açık özellikler

AllowDuplicateMsgs

bool AllowDuplicateMsgs

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

AppState

void * AppState

Uygulamaya özel durum nesnesinin işaretçisi.

Eksisi

WeaveConnection * Con

[READ ONLY] İlişkilendirilmiş Weave bağlantısı.

EncryptionType

uint8_t EncryptionType

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

ExchangeId

uint16_t ExchangeId

[SALT OKUNUR] Atanan exchange kimliği.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[READ ONLY] Exchange yöneticisine sahip olma.

KeyId

uint16_t KeyId

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

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Onay için uygulama geri araması.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Gecikmeli teslim mesajı için uygulama geri çağırması.

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

Uygulama gönderilirken hata oluştuğu için geri çağırma.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Alınan Throttle mesajı için uygulama geri çağırması.

PeerAddr

IPAddress PeerAddr

[SALT OKUNUR] Eş düğümün IP adresi.

PeerIntf

InterfaceId PeerIntf

[SALT OKUNUR] Eşe ileti gönderirken kullanılacak giden arayüzüdür.

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

PeerNodeId

uint64_t PeerNodeId

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

PeerPort

uint16_t PeerPort

[SALT OKUNUR] Eş düğümün bağlantı noktası.

ResponseTimeout

Timeout ResponseTimeout

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

RetransInterval

uint32_t RetransInterval

Tekrar 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ı.

Herkese açık işlevler

İptal et

void Abort(
  void
)

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

AddRef

void AddRef(
  void
)

Değişim bağlamı için referans sayacını bir artırın.

AutoRequestAck

bool AutoRequestAck() const 

Her ileti 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ünce 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.

EncodeExchHeader

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

Exchange başlığını bir mesaj 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 gerekli PacketBuffer işaretçisi.
[in] sendFlags
Uygulama tarafından gönderilen Weave iletisi için ayarlanan işaretler.
Değerleri Döndür
WEAVE_ERROR_BUFFER_TOO_SMALL
İleti arabelleğinde, exchange üstbilgisini kodlamak için yeterli alan yoksa.
WEAVE_NO_ERROR
Mesajın kodlanması başarılı olursa.

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

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Mevcut yeniden iletim zaman aşımını al.

Bu, ExchangeContext'in eşiyle devam eden etkin bir mesaj alışverişinin olup olmadığına bağlı olarak ilk veya etkin yeniden iletim zaman aşımı olabilir.

Ayrıntılar
İadeler
şu anki yeniden iletim zamanı.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğe işaret eden bir işaret. Sağlanan arabellek en az kGetPeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize, sığacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon ile işaret edilen tamponun boyutu.

HandleTrickleMessage

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

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

Ayrıntılar
Parametreler
[in] pktInfo
IPPacketInfo nesnesinin işaretçisi.
[in] msgInfo
Weave mesaj bilgi yapısını gösteren işaretçi.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

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

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

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Bu exchange'de eşten en az bir mesaj alıp almadığını belirleyin.

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

IsAckPending

bool IsAckPending(
  void
) const 

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

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

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

Ayrıntılar
İadeler
"true" değerini döndürür Bağlantı kapalıysa 'false' değerini girin.

IsInitiator

bool IsInitiator(
  void
) const 

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

Ayrıntılar
İadeler
"true" değerini döndürür başlatan tarafsa 'false' olur.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

Bu exchange üzerinden gönderilen iletilere yanıt beklenip yanıtlanmayacağını belirleyin.

Ayrıntılar
İadeler
"true" değerini döndürür yanıt bekleniyorsa, aksi takdirde "yanlış" olur.

Serbest bırak

void Release(
  void
)

Bu exchange bağlamına referans verin.

Geri sayım bire düşerse 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
)

Genel::Null mesajı gönderin.

Ayrıntılar
Değerleri Döndür
WEAVE_ERROR_NO_MEMORY
BundleBuffers 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.

SendMessage

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

Bu exchange'de 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 iletisi için ayarlanan işaretler.
[in] msgCtxt
Gönderilen mesajla ilişkilendirilecek, uygulamaya özel bağlam nesnesine işaret eden bir işaret.
Değerleri Döndür
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'ye geçersiz bir bağımsız değişken iletilip iletilmediğini gösterir.
WEAVE_ERROR_SEND_THROTTLED
Bu exchange bağlamı, Weave güvenilir mesajlaşma protokolü kullanılırken kısıtlandıysa:
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
özel gönderme işleminde ve desteklenen Weave mesaj protokolü sürümünde bir uyumsuzluk olursa. Örneğin, Weave ileti protokolü sürümü V1 olduğunda Weave Reliable Messaging semantiği deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
ilişkilendirilmiş olması gerekir.
WEAVE_ERROR_INCORRECT_STATE
durumunu gösterir.
WEAVE_NO_ERROR
mesajını ağ katmanına başarıyla gönderirse Weave katmanından da isteyebilirsiniz.

SendMessage

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

Bu exchange'de 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 iletisi için ayarlanan işaretler.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] msgCtxt
Gönderilen mesajla ilişkilendirilecek, uygulamaya özel bağlam nesnesine işaret eden bir işaret.
Değerleri Döndür
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'ye geçersiz bir bağımsız değişken iletilip iletilmediğini gösterir.
WEAVE_ERROR_SEND_THROTTLED
Bu exchange bağlamı, Weave güvenilir mesajlaşma protokolü kullanılırken kısıtlandıysa:
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
özel gönderme işleminde ve desteklenen Weave mesaj protokolü sürümünde bir uyumsuzluk olursa. Örneğin, Weave ileti protokolü sürümü V1 olduğunda Weave Reliable Messaging semantiği deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
ilişkilendirilmiş olması gerekir.
WEAVE_ERROR_INCORRECT_STATE
durumunu gösterir.
WEAVE_NO_ERROR
mesajını ağ katmanına başarıyla gönderirse Weave katmanından da isteyebilirsiniz.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Bu exchange'de eşe bir onayın geri gönderilmesi gerekip gerekmediğini ayarlayın.

Ayrıntılar
Parametreler
[in] inAckPending
Alınan bir iletiye yanıt olarak bir onayın (true) (doğru) veya olmadığını (false) geri gönderilip gönderilmeyeceğini gösteren bir boole değeri.

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 döndürür.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Her mesaj gönderildiğinde onay istenip istenmeyeceğini belirleyin.

Ayrıntılar
Parametreler
[in] autoReqAck
Her mesaj gönderildiğinde onay istenip istenmeyeceğini gösteren bir 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 (true) (doğru) veya olmadığını (false) gösteren bir boole değeri.

SetDropAck

void SetDropAck(
  bool inDropAck
)

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

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

Ayrıntılar
Parametreler
[in] inDropAck
Onayların exchange için gönderilip gönderilmemesi gerektiğini (doğru) veya yanlış (false) olup olmadığını gösteren bir boole değeri.

SetInitiator

void SetInitiator(
  bool inInitiator
)

kFlagInitiator işaret 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ı olup olmadığını (doğru) veya olmadığını (yanlış) gösteren bir Boole değeri.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Bu exchange'deki eşten mesaj alıp almadığını ayarlayın.

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

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Bu exchange'e alınan son mesajda onay istenip istenmediğini ayarlayın.

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 yanıt beklenip beklenmeyeceğini ayarlayın.

Ayrıntılar
Parametreler
[in] inResponseExpected
Bu exchange'de yanıt beklendiğ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 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 damla 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 olarak bir INET_ERROR eşlenir.

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

ShouldDropAck

bool ShouldDropAck(
  void
) const 

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

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

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

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

Ayrıntılar
İadeler
Başarılıysa WEAVE_NO_ERROR, aksi takdirde INET_ERROR, WEAVE_ERROR ile eşleştirilir.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

Trickle içindeki periyodik zamanlayıcıları iptal ederek ve Weave mesajını içeren mesaj arabelleğini serbest bırakarak Trickle yeniden iletim mekanizmasını ayırı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üğümüne, daha önce gönderilen iletisinin alıcıya teslim edilmeden önce beklenen bir gecikme yaşayacağını bildirmek için Gecikmeli Teslim iletisi gönderin.

İletilerin teslim edilmeden önce gecikmesinin olası nedenlerinden biri, alıcı son düğümünün uyku modunda olmasıdır. Bu ileti, alıcıyla ilgili, geciken iletim hakkında çıkarımda bulunabilecek kadar bilgiye sahip olan, gönderme yolunda uygun bir ara düğüm tarafından oluşturulmuş olabilir. Bu iletiyi aldıktan sonra gönderen, onay isteyen iletiler için yeniden iletim zamanlayıcılarını yeniden ayarlar.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Önceden gönderilen iletinin teslim edilmeden önce gecikmesinin beklendiği süre (milisaniye cinsinden).
[in] delayedNodeId
Mesaj tesliminin gecikeceği eş düğümün düğüm tanımlayıcısı.
Değerleri Döndür
WEAVE_ERROR_INVALID_ARGUMENT
bu SendMessage API'ye geçersiz bir bağımsız değişken iletilip iletilmediğini gösterir.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
özel gönderme işleminde ve desteklenen Weave mesaj protokolü sürümünde bir uyumsuzluk olursa. Örneğin, Weave ileti protokolü sürümü V1 olduğunda Weave Reliable Messaging semantiği deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
ilişkilendirilmiş olması gerekir.
WEAVE_ERROR_INCORRECT_STATE
durumunu gösterir.
WEAVE_NO_ERROR
mesajını ağ katmanına başarıyla gönderirse Weave katmanından da isteyebilirsiniz.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Eş düğüme bir Throttle Flow iletisi göndererek eş düğümden ileti gönderimini kısıtlamasını isteyin.

Ayrıntılar
Parametreler
[in] pauseTimeMillis
Alıcının, gönderim hızını kısıtlamasının beklendiği süre (milisaniye cinsinden).
Değerleri Döndür
WEAVE_ERROR_INVALID_ARGUMENT
Bu SendMessage API'ye geçersiz bir bağımsız değişken iletilip iletilmediği.
WEAVE_ERROR_SEND_THROTTLED
Weave güvenilir mesajlaşma protokolü kullanılırken bu exchange bağlamı kısıtlandıysa.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Belirli gönderme işleminde ve desteklenen Weave mesaj protokolü sürümünde bir uyumsuzluk varsa. Örneğin, Weave ileti protokolü sürümü V1 olduğunda Weave Reliable Messaging semantiği deneniyorsa bu hata oluşur.
WEAVE_ERROR_NOT_CONNECTED
Bağlamın artık kapatılmış bir bağlantıyla ilişkilendirilip ilişkilendirilmediği.
WEAVE_ERROR_INCORRECT_STATE
Değişim bağlamının durumu yanlışsa.
WEAVE_NO_ERROR
Weave katmanının mesajı başarıyla ağ katmanına gönderip göndermediği.