nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
تمثّل هذه الفئة محادثة جارية (ExchangeContext) بين عقدتين أو أكثر.
الملخّص
وتحدّد هذه الآلية طرق ترميز ونشر رسائل Weave داخل ExchangeContext على آليات نقل مختلفة، مثل بروتوكول TCP أو UDP أو المراسلة الموثوقة من Weave.
الأنواع المتاحة للجميع |
|
---|---|
@34{
|
تعداد |
@35{
|
تعداد |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedefvoid(*
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عند إغلاق اتصال Weave الحالي. |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedefvoid(*
نوع دالة معالجة رسالة الخطأ الرئيسية. |
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
typedefvoid(*
هذه الدالة هي استدعاء التطبيق لمعالجة رسالة Weave المستلمة. |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند انتهاء مهلة تلقي رسالة الرد. |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند انتهاء مهلة إعادة إرسال رسالة تم إرسالها سابقًا. |
Timeout
|
typedefuint32_t
النوع المستخدم للتعبير عن المهلة في ExchangeContext، بالمللي ثانية. |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
typedefvoid(*
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عندما يتم استلام إقرار لرسالة Weave التي طلبت رسالة كجزء من بروتوكول Weave Trusted Messaging. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عند تلقي رسالة تقييد تدفق البيانات أو رسالة تأخير التسليم كجزء من بروتوكول Weave Trusted Messaging. |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
typedefvoid(*
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند حدوث خطأ أثناء إرسال رسالة Weave. |
السمات العامة |
|
---|---|
AllowDuplicateMsgs
|
bool
مؤشر منطقي لما إذا كان يُسمح بالرسائل المكررة لتبادل معين
|
AppState
|
void *
أشِر إلى كائن الحالة الخاص بالتطبيق.
|
Con
|
[للقراءة فقط] اتصال Weave المرتبط
|
EncryptionType
|
uint8_t
نوع التشفير المستخدم عند إرسال رسالة.
|
ExchangeId
|
uint16_t
[للقراءة فقط] تم تخصيص رقم تعريف التبادل.
|
ExchangeMgr
|
[للقراءة فقط] امتلاك مدير للتبادل
|
KeyId
|
uint16_t
مفتاح التشفير لاستخدامه عند إرسال رسالة.
|
OnAckRcvd
|
معاودة الاتصال بالطلب للإقرار الذي تم استلامه.
|
OnConnectionClosed
|
|
OnDDRcvd
|
معاودة الاتصال بالتطبيق لرسالة الرسالة المتأخرة.
|
OnKeyError
|
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند تلقّي رسالة خطأ رئيسية من النظير.
|
OnMessageReceived
|
|
OnResponseTimeout
|
|
OnRetransmissionTimeout
|
|
OnSendError
|
معاودة الاتصال بالتطبيق بحثًا عن خطأ أثناء الإرسال.
|
OnThrottleRcvd
|
معاودة الاتصال بالتطبيق لرسالة التحكُّم المُستلَمة.
|
PeerAddr
|
IPAddress
[للقراءة فقط] عنوان IP لعقدة الزملاء،
|
PeerIntf
|
InterfaceId
[للقراءة فقط] واجهة البريد الصادر لاستخدامها عند إرسال الرسائل إلى النظير.
|
PeerNodeId
|
uint64_t
[للقراءة فقط] رقم تعريف العقدة لعقدة الزملاء.
|
PeerPort
|
uint16_t
[للقراءة فقط] منفذ عقدة التطبيقات المشابهة.
|
ResponseTimeout
|
الحد الأقصى لوقت انتظار الاستجابة (بالمللي ثانية)، 0 لإيقاف مهلة الاستجابة.
|
RetransInterval
|
uint32_t
الوقت بين عمليات إعادة الإرسال (بالمللي ثانية)، 0 لإيقاف عمليات إعادة الإرسال.
|
mMsgProtocolVersion
|
uint16_t
إصدار بروتوكول الرسائل في ExchangeContext.
|
mWRMPConfig
|
إعداد WRMP
|
وظائف عامة |
|
---|---|
Abort(void)
|
void
إلغاء سياق Exchange فورًا وتحرير جميع المراجع إليه
|
AddRef(void)
|
void
زيادة العداد المرجعي لسياق التبادل الواحد
|
AutoRequestAck() const
|
bool
يعرض ما إذا كان سيتم طلب إقرار كلما تم إرسال رسالة.
|
CancelRetrans(void)
|
void
إلغاء آلية إعادة إرسال Trickle.
|
Close(void)
|
void
إغلاق سياق تبادل بشكلٍ أنيق
|
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
|
يمكنك تشفير عنوان التبادل في المخزن المؤقت للرسائل.
|
GetAutoReleaseKey() const
|
bool
عليك الرجوع إلى ما إذا كان يجب إلغاء قفل مفتاح التشفير المرتبط بعملية التبادل أم لا.
|
GetCurrentRetransmitTimeout(void)
|
uint32_t
الحصول على مهلة إعادة الإرسال الحالية.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
تنشئ سلسلة تصف عقدة الزملاء وعنوانها / معلومات الاتصال المرتبطة بها.
|
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
|
void
التعامل مع الرسائل غير المرغوب فيها ضمن سياق Exchange
|
HasPeerRequestedAck(void) const
|
bool
حدِّد ما إذا كان الأقران قد طلب إقرارًا لرسالة واحدة على الأقل في عملية التبادل هذه.
|
HasRcvdMsgFromPeer(void) const
|
bool
حدد ما إذا تم تلقي رسالة واحدة على الأقل في هذا التبادل من الزملاء.
|
IsAckPending(void) const
|
bool
حدِّد ما إذا كان هناك إقرار حالي بالفعل للإرسال إلى الصديق بشأن عملية التبادل هذه.
|
IsConnectionClosed(void) const
|
bool
حدد ما إذا كان ExchangeContext يتضمن WaveConnection نشطًا ومرتبطًا.
|
IsInitiator(void) const
|
bool
تحديد ما إذا كان السياق هو البادئ أم لا.
|
IsResponseExpected(void) const
|
bool
يمكنك تحديد ما إذا كان من المتوقع أن يتم الرد على الرسائل المُرسلة من خلال هذا التبادل أم لا.
|
Release(void)
|
void
مرجع الإصدار المرتبط بسياق التبادل هذا
|
SendCommonNullMessage(void)
|
إرسال رسالة شائعة::null
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
|
أرسِل رسالة Weave في هذا التبادل.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
|
أرسِل رسالة Weave في هذا التبادل.
|
SetAckPending(bool inAckPending)
|
void
يمكنك تحديد ما إذا كان يجب إرسال الإقرار إلى الزملاء في هذا التبادل.
|
SetAutoReleaseKey(bool autoReleaseKey)
|
void
يمكنك تحديد ما إذا كان يجب تحرير مفتاح التشفير المرتبط بعملية التبادل أم لا.
|
SetAutoRequestAck(bool autoReqAck)
|
void
يمكنك تحديد ما إذا كان يجب طلب الإقرار عند إرسال الرسالة.
|
SetConnectionClosed(bool inConnectionClosed)
|
void
اضبط بت علامة kFlagConnectionClosed.
|
SetDropAck(bool inDropAck)
|
void
يمكنك تحديد ما إذا كان يجب على WeaveExchangeManager عدم إرسال إقرارات لهذا السياق.
|
SetInitiator(bool inInitiator)
|
void
اضبط وحدة الإبلاغ عن kFlagInitiator.
|
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
|
void
حدد ما إذا تم تلقي رسالة من التبادل في عملية التبادل هذه.
|
SetPeerRequestedAck(bool inPeerRequestedAck)
|
void
يمكنك تحديد ما إذا تم طلب إقرار في آخر رسالة تم تلقّيها في عملية التبادل هذه.
|
SetResponseExpected(bool inResponseExpected)
|
void
يمكنك تحديد ما إذا كان من المتوقع الرد على هذا التبادل.
|
SetShouldAutoReleaseConnection(bool autoReleaseCon)
|
void
حدد ما إذا كان يجب إلغاء ربط Weave المرتبط بعملية التبادل أم لا.
|
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
|
يمكنك إعداد آلية إعادة الإرسال المتنقّلة عن طريق ضبط الفاصل الزمني لإعادة الإرسال وإعادة الإرسال والحد الأدنى لإعادة البث.
|
ShouldAutoReleaseConnection() const
|
bool
أرجع ما إذا كان يجب إلغاء ربط Weave المرتبط بالتبادل أم لا.
|
ShouldDropAck(void) const
|
bool
حدِّد ما إذا كان يجب على WeaveExchangeManager عدم إرسال إقرار.
|
StartTimerT(void)
|
بدء تشغيل خوارزمية Trickle rebroadcast لآلة إعادة الإرسال الدورية للموقِّت.
|
TeardownTrickleRetransmit(void)
|
void
يمكنك إيقاف آلية إعادة إرسال Trickle من خلال إلغاء الموقّتات الدورية في Trickle وإخلاء المخزن المؤقت للرسائل التي تحمل رسالة Weave.
|
UseEphemeralUDPPort(void) const
|
bool
يمكنك الرجوع إلى ما إذا كانت الرسائل الصادرة المرسلة من خلال التبادل يجب إرسالها من منفذ UDP المحلي المؤقت.
|
WRMPFlushAcks(void)
|
|
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
|
يمكنك إرسال رسالة تأخير التسليم لإعلام عقدة المُرسِل بأن رسالتها المُرسَلة في السابق ستواجه تأخيرًا متوقعًا قبل تسليمها إلى المُستلِم.
|
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
|
إرسال رسالة تدفق تدفق البيانات إلى عقدة الزملاء والتي تطلبها لضبط إرسال الرسائل.
|
الأنواع المتاحة للجميع
@34
@34
أماكن إقامة | |
---|---|
kSendFlag_AlreadyEncoded
|
يُستخدم للإشارة إلى أن الرسالة مشفّرة من قبل. |
kSendFlag_AutoRetrans
|
يُستخدم للإشارة إلى أن إعادة الإرسال التلقائية مفعَّلة. |
kSendFlag_DefaultMulticastSourceAddress
|
يُستخدم للإشارة إلى أنه يجب استخدام اختيار عنوان مصدر IPv6 التلقائي عند إرسال رسائل IPv6 المتعددة. |
kSendFlag_DelaySend
|
يُستخدم للإشارة إلى أنه يجب تأخير إرسال الرسالة الحالية. |
kSendFlag_ExpectResponse
|
يُستخدَم للإشارة إلى أن الرد متوقّع ضمن مهلة محدّدة. |
kSendFlag_FromInitiator
|
يُستخدم للإشارة إلى أن الرسالة الحالية هي بدء التبادل. |
kSendFlag_MulticastFromLinkLocal
|
تم إيقاف الاسم المستعار للبريد الإلكتروني |
kSendFlag_NoAutoRequestAck
|
إيقاف ميزة إقرار الطلب التلقائي عند إرسال رسالة |
kSendFlag_RequestAck
|
يُستخدم لإرسال رسالة WRM تطلب الإقرار. |
kSendFlag_RetainBuffer
|
يُستخدم للإشارة إلى أنه يجب عدم إخلاء المخزن المؤقت للرسائل بعد الإرسال. |
kSendFlag_RetransmissionTrickle
|
يُستخدم للإشارة إلى متطلبات إعادة الإرسال في Trickle. |
kSendFlag_ReuseMessageId
|
يُستخدَم للإشارة إلى إمكانية إعادة استخدام معرّف الرسالة في عنوان الرسالة. |
kSendFlag_ReuseSourceId
|
يُستخدم للإشارة إلى إمكانية إعادة استخدام رقم تعريف العقدة المصدر في رأس الرسالة. |
@35
@35
أماكن إقامة | |
---|---|
kGetPeerDescription_MaxLength
|
الحد الأقصى لطول السلسلة (بما في ذلك حرف NUL) الذي يتم عرضه بواسطة GetPeerDescription(). |
قناة ConnectionClosedFunct
void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عند إغلاق اتصال Weave الحالي.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
نوع دالة معالجة رسالة الخطأ الرئيسية.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
رسالة الاستلام
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
هذه الدالة هي استدعاء التطبيق لمعالجة رسالة Weave المستلمة.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
مهلة الاستجابة للمهلة
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند انتهاء مهلة تلقي رسالة الرد.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
إعادة ضبط مهلة التمويل
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند انتهاء مهلة إعادة إرسال رسالة تم إرسالها سابقًا.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
تذكرة WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عندما يتم استلام إقرار لرسالة Weave التي طلبت رسالة كجزء من بروتوكول Weave Trusted Messaging.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
WRMPولادئه
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
هذه الوظيفة هي استدعاء التطبيق لاستدعاءه عند تلقي رسالة تقييد تدفق البيانات أو رسالة تأخير التسليم كجزء من بروتوكول Weave Trusted Messaging.
ترتبط كل رسالة من هذه الرسائل بقيمة وقت (بالمللي ثانية) تشير إلى الوقت لإيقاف إرسال رسائل Weave مؤقتًا على ExchangeContext.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند حدوث خطأ أثناء إرسال رسالة Weave.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
السمات العامة
السماح بتكرار Msgs
bool AllowDuplicateMsgs
مؤشر منطقي لما إذا كان يُسمح بالرسائل المكررة لتبادل معين
حالة التطبيق
void * AppState
أشِر إلى كائن الحالة الخاص بالتطبيق.
نوع التشفير
uint8_t EncryptionType
نوع التشفير المستخدم عند إرسال رسالة.
رقم تعريف Exchange
uint16_t ExchangeId
[للقراءة فقط] تم تخصيص رقم تعريف التبادل.
رقم تعريف المفتاح
uint16_t KeyId
مفتاح التشفير لاستخدامه عند إرسال رسالة.
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
خطأ في مفتاح
KeyErrorFunct OnKeyError
هذه الدالة هي استدعاء التطبيق لاستدعاءه عند تلقّي رسالة خطأ رئيسية من النظير.
OnMessageReceived
MessageReceiveFunct OnMessageReceived
مهلة الاستجابة
ResponseTimeoutFunct OnResponseTimeout
مهلة إعادة التوجيه
RetransmissionTimeoutFunct OnRetransmissionTimeout
تذكرة OnThrottleRcvd
WRMPPauseRcvdFunct OnThrottleRcvd
معاودة الاتصال بالتطبيق لرسالة التحكُّم المُستلَمة.
قناة PeerAddr
IPAddress PeerAddr
[للقراءة فقط] عنوان IP لعقدة الزملاء،
PeerIntf
InterfaceId PeerIntf
[للقراءة فقط] واجهة البريد الصادر لاستخدامها عند إرسال الرسائل إلى النظير.
(معنى لـ UDP فقط.)
رقم تعريف PeerNode
uint64_t PeerNodeId
[للقراءة فقط] رقم تعريف العقدة لعقدة الزملاء.
منفذ PeerPort
uint16_t PeerPort
[للقراءة فقط] منفذ عقدة التطبيقات المشابهة.
مهلة الاستجابة
Timeout ResponseTimeout
الحد الأقصى لوقت انتظار الاستجابة (بالمللي ثانية)، 0 لإيقاف مهلة الاستجابة.
الفاصل الزمني
uint32_t RetransInterval
الوقت بين عمليات إعادة الإرسال (بالمللي ثانية)، 0 لإيقاف عمليات إعادة الإرسال.
وظائف عامة
إلغاء
void Abort( void )
إلغاء سياق Exchange فورًا وتحرير جميع المراجع إليه
إضافة مرجع
void AddRef( void )
زيادة العداد المرجعي لسياق التبادل الواحد
AutoRequestAck
bool AutoRequestAck() const
يعرض ما إذا كان سيتم طلب إقرار كلما تم إرسال رسالة.
إلغاء إعادة الإرسال
void CancelRetrans( void )
إلغاء آلية إعادة إرسال Trickle.
إغلاق
void Close( void )
إغلاق سياق تبادل بشكلٍ أنيق
يقلل هذا الطلب من عدد المراجع ويوقف التبادل عندما ينخفض عدد المراجع.
ترميز EnchExchHeader
WEAVE_ERROR EncodeExchHeader( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags )
يمكنك تشفير عنوان التبادل في المخزن المؤقت للرسائل.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||
قيم الإرجاع |
|
الحصول على المفتاح التلقائي
bool GetAutoReleaseKey() const
عليك الرجوع إلى ما إذا كان يجب إلغاء قفل مفتاح التشفير المرتبط بعملية التبادل أم لا.
GetCurrentRetransfermitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
الحصول على مهلة إعادة الإرسال الحالية.
وستكون هذه هي المهلة الأولية أو النشطة لإعادة الإرسال بناءً على ما إذا كان ExchangeContext يتضمن تبادل رسائل نشطًا مع نظيره.
التفاصيل | |
---|---|
المرتجعات |
في وقت إعادة الإرسال الحالي.
|
وصف GetPeer
void GetPeerDescription( char *buf, uint32_t bufSize ) const
تنشئ سلسلة تصف عقدة الزملاء وعنوانها / معلومات الاتصال المرتبطة بها.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
HandleTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
التعامل مع الرسائل غير المرغوب فيها ضمن سياق Exchange
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
HasPeerRequestAck
bool HasPeerRequestedAck( void ) const
حدِّد ما إذا كان الأقران قد طلب إقرارًا لرسالة واحدة على الأقل في عملية التبادل هذه.
التفاصيل | |
---|---|
المرتجعات |
عرض 'true' إذا كان الإقرار مطلوبًا، أو 'false'.
|
HasRcvdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
حدد ما إذا تم تلقي رسالة واحدة على الأقل في هذا التبادل من الزملاء.
التفاصيل | |
---|---|
المرتجعات |
عرض 'true' إذا تم استلام الرسالة, آخر 'false'
|
في انتظار المراجعة
bool IsAckPending( void ) const
حدِّد ما إذا كان هناك إقرار حالي بالفعل للإرسال إلى الصديق بشأن عملية التبادل هذه.
IsConnectionClosed
bool IsConnectionClosed( void ) const
حدد ما إذا كان ExchangeContext يتضمن WaveConnection نشطًا ومرتبطًا.
التفاصيل | |
---|---|
المرتجعات |
إرجاع 'true' إذا كان الاتصال مغلقًا، أو 'false'.
|
المُنشئ
bool IsInitiator( void ) const
تحديد ما إذا كان السياق هو البادئ أم لا.
التفاصيل | |
---|---|
المرتجعات |
عرض 'true' إذا كان المُنشئ، بخلاف ذلك##39;false'.
|
لغة الاستجابة المتوقعة
bool IsResponseExpected( void ) const
يمكنك تحديد ما إذا كان من المتوقع أن يتم الرد على الرسائل المُرسلة من خلال هذا التبادل أم لا.
التفاصيل | |
---|---|
المرتجعات |
عرض 'true' إذا كان الرد متوقّعًا، أو 'false'.
|
عند إصدار العمل الفنّي
void Release( void )
مرجع الإصدار المرتبط بسياق التبادل هذا
إذا كان العدد منخفضًا بالنسبة إلى واحد، يمكنك إغلاق السياق وإعادة ضبط جميع استدعاءات التطبيق وإيقاف جميع الموقّتات.
SendCommonNullMessage
WEAVE_ERROR SendCommonNullMessage( void )
إرسال رسالة شائعة::null
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
قيم الإرجاع |
|
إرسال رسالة
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
أرسِل رسالة Weave في هذا التبادل.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||
قيم الإرجاع |
|
إرسال رسالة
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
أرسِل رسالة Weave في هذا التبادل.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||
قيم الإرجاع |
|
إعدادات معلّقة
void SetAckPending( bool inAckPending )
يمكنك تحديد ما إذا كان يجب إرسال الإقرار إلى الزملاء في هذا التبادل.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
ضبط مفتاح الإصدار التلقائي
void SetAutoReleaseKey( bool autoReleaseKey )
يمكنك تحديد ما إذا كان يجب تحرير مفتاح التشفير المرتبط بعملية التبادل أم لا.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
ضبط AutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
يمكنك تحديد ما إذا كان يجب طلب الإقرار عند إرسال الرسالة.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
ضبط الاتصال المغلق
void SetConnectionClosed( bool inConnectionClosed )
اضبط بت علامة kFlagConnectionClosed.
يتم ضبط هذه العلامة عند إغلاق WaveConnection مرتبط بسياق Exchange.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
تذكرة SetDropAck
void SetDropAck( bool inDropAck )
يمكنك تحديد ما إذا كان يجب على WeaveExchangeManager عدم إرسال إقرارات لهذا السياق.
للاستخدام الداخلي، يمكن استخدام تصحيح الأخطاء فقط.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
بادئ التشغيل
void SetInitiator( bool inInitiator )
اضبط وحدة الإبلاغ عن kFlagInitiator.
يتم ضبط هذه العلامة من خلال العقدة التي تبدأ عملية التبادل.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
ضبط MSgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
حدد ما إذا تم تلقي رسالة من التبادل في عملية التبادل هذه.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
SetPeerRequestAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
يمكنك تحديد ما إذا تم طلب إقرار في آخر رسالة تم تلقّيها في عملية التبادل هذه.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
تحديد واجهة الاستجابة المتوقعة
void SetResponseExpected( bool inResponseExpected )
يمكنك تحديد ما إذا كان من المتوقع الرد على هذا التبادل.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
SetShuldAutoReleaseConnection
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
حدد ما إذا كان يجب إلغاء ربط Weave المرتبط بعملية التبادل أم لا.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
إعداد الخداع
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
يمكنك إعداد آلية إعادة الإرسال المتنقّلة عن طريق ضبط الفاصل الزمني لإعادة الإرسال وإعادة الإرسال والحد الأدنى لإعادة البث.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||
المرتجعات |
WEAVE_NO_ERROR إذا تم إعداد Trickle بنجاح، بخلاف ذلك، سيتم ربط INET_ERROR في WEAVE_ERROR.
|
يجب ربط الإصدار تلقائيًا
bool ShouldAutoReleaseConnection() const
أرجع ما إذا كان يجب إلغاء ربط Weave المرتبط بالتبادل أم لا.
من المفترض أن يسقط من الأمام
bool ShouldDropAck( void ) const
حدِّد ما إذا كان يجب على WeaveExchangeManager عدم إرسال إقرار.
للاستخدام الداخلي، يمكن استخدام تصحيح الأخطاء فقط.
StartTimerT
WEAVE_ERROR StartTimerT( void )
بدء تشغيل خوارزمية Trickle rebroadcast لآلة إعادة الإرسال الدورية للموقِّت.
التفاصيل | |
---|---|
المرتجعات |
WEAVE_NO_ERROR إذا نجح الإجراء، سيتم ربط INET_ERROR في WEAVE_ERROR.
|
TeardownTrickleRemitmit
void TeardownTrickleRetransmit( void )
يمكنك إيقاف آلية إعادة إرسال Trickle من خلال إلغاء الموقّتات الدورية في Trickle وإخلاء المخزن المؤقت للرسائل التي تحمل رسالة Weave.
استخدام EphemeralUDPPort
bool UseEphemeralUDPPort( void ) const
يمكنك الرجوع إلى ما إذا كانت الرسائل الصادرة المرسلة من خلال التبادل يجب إرسالها من منفذ UDP المحلي المؤقت.
قناة WRMPFlushAcks
WEAVE_ERROR WRMPFlushAcks( void )
WRMPSendتأخيرedDelivery
WEAVE_ERROR WRMPSendDelayedDelivery( uint32_t PauseTimeMillis, uint64_t DelayedNodeId )
يمكنك إرسال رسالة تأخير التسليم لإعلام عقدة المُرسِل بأن رسالتها المُرسَلة في السابق ستواجه تأخيرًا متوقعًا قبل تسليمها إلى المُستلِم.
أحد الأسباب المحتملة لتأخير الرسائل قبل تسليمها هو عندما تكون عقدة نهاية المستلم غير نشطة. من المحتمل أن يتم إنشاء هذه الرسالة من عُقدة متوسطة مناسبة في مسار الإرسال تمتلك معلومات كافية عن المستلم لاستنتجها بشأن التسليم المتأخر. وعند تلقي هذه الرسالة، يعيد المُرسِل ضبط موقّتات إعادة الإرسال للرسائل التي تطلب إرجاع الإقرارات.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||
قيم الإرجاع |
|
قناة WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
إرسال رسالة تدفق تدفق البيانات إلى عقدة الزملاء والتي تطلبها لضبط إرسال الرسائل.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||
قيم الإرجاع |
|